JAVA之數據結構

知識點總結:
一、數組:

    聲明:
                        Object[] arr = new Object[長度];
                        Object[] arr = {o1,o2,o3};
                        Object[] arr = new Object[]{o1,o2,o3};
    賦值:arr[下標] = 值;

    獲取數組長度:arr[下標] = 值;

    取值:arr[下標]
            普通for循環遍歷for(int i=0;i<arr.length;i++){arr[i];}
            foreach 

    排序:冒泡排序:相鄰兩個元素依次比較,互換位置;
          選擇排序:讓未確定的第一個數依次和後面的比較,互換位置;
          Arrays.sort(arr); 按照自然升序排列;
          特點:長度一旦聲明,不可改變;
          二維數組:賦值、遍歷;

二、集合:

    特點:可變長度。

Collection接口:

        特點:有序、可重複;

        實現類ArrayList:
                                添加:
                                    add(Object obj);
                                    add(int i,Object obj);
                                    addAll(Collection c);
                                    addAll(int i,Collection c);

                                修改:
                                    set(int i,Object  newObj);

                                刪除:
                                    remove(int i);
                                    remove(Object obj);
                                    removeAll(Collection c);
                                    retainAll(Collection c) 僅在列表中保留指定 collection 中所包含的元素;
                                                clear();

                                查詢:
                                    get(int i) 根據下標查詢元素,返回元素;
                                    contains(Object obj) 查詢列表中是否包含指定元素,包含返回true;
                                    containsAll(Collection c) 查詢列表中是否包含指定的多個元素,全部包含返回true;
                                    indexOf(Object obj) 查詢指定元素第一次出現的下標,;返回下標索引,沒有該元素返回-1
                                    lastIndexOf(Object obj) 查詢指定元素最後一次出現的;下標,返回下標索引,沒有該元素返回-1
                                    isEmpty() 判斷列表是否爲空,爲空返回true;
                                                序列遍歷:
                                    使用for循環for(int i=0;i<list.size();i++){list.get(i);}
                                    使用foreach循環;
                                    使用iterator迭代器;
                                    it.hasNext() 如果有下一個元素,返回true;
                                    it.next() 返回下一個元素;
                                    it.remove() 刪除迭代器返回的最後一個元素;

                                其他方法:

                                獲取長度:size()
                                        subList(int start,int end) 截取集合,從下標start(包含)到下標end(不包含)截取;
                                        toArray() 把列表轉爲數組,返回的是Object[];
                                補充:
                                    把數組轉爲List集合,Arrays.asList(arr);

子接口:Set

        特點:無序、不可重複;

        實現類:HashSet
                添加:
                    add(Object obj);
                    addAll(Collection c);
                修改:
                    set中沒有修改的方法,可以間接修改,先刪除、再添加;
                刪除:
                    remove(Object obj);
                    removeAll(Collection c);
                    retainAll(Collection c) 僅保留 set 中那些包含在指定 collection 中的元素;
                    clear() 清除所有元素;
                查詢:
                    contains(Object obj) 查詢set中是否包含指定元素,包含返回true;
                    containsAll(Collection c) 查詢set中是否包含指定的多個元素,全部包含返回true;
                    isEmpty() 判斷set是否爲空,爲空返回true;
                遍歷:
                    使用foreach循環;
                    使用iterator迭代器;
                    it.hasNext() 如果有下一個元素,返回true;
                    it.next() 返回下一個元素;
                    it.remove() 刪除迭代器返回的最後一個元素;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章