1. 程式人生 > >JAVA中的三大集合框架

JAVA中的三大集合框架

一、List集合

1List實現的超級父類介面:Collection

2、瞭解ArrayList

A):定義的格式:ArrayList<具體型別> 集合名 =  new ArrayList<具體型別>();

B):資料的儲存方式:底層還是用陣列儲存

C):物件的型別:在List集合中,如果定義集合物件時沒有定義定義物件的型別,就表示什麼型別的物件都可以直接儲存到List集合中,如果想要運用裡面的元素,則需要用instanceof來判斷元素的型別。格式 :元素 instanceof 所判斷的型別;返回truefalse。後續需要強轉。

D):集合的設計:泛型的方式進行型別指定,

ArrayList<具體型別>

特點:元素有序、可重複,可變大小的容器

遍歷:for迴圈即可

E):基本操作:

增加:集合名.add(元素); 加在集合最後,

集合名.add(數字,元素); 載入指定的位置

集合名.addAll(另一個集合名);  加在最後

集合名.addAll(數字,另一個集合名);   載入指定位置

        刪除:集合名.remove(數字);   移去指定位置的元素

          集合名.remove(元素);   移去集合中第一次出現的指定元素(如果存在)

集合名.removeALL(另一個集合名);  移去另一個集合中的所有元素

集合名

.retaintALL(另一個集合名);   僅保留另一個集合中的所有元素

集合名.clear();  清空集合

   判斷/獲得:集合名.get(數字);   獲得指定位置的元素

              集合名.contains(元素);   判斷集合是否包含該元素,是則返回true

              集合名.contains(另一個集合名); 判斷是否包含另一個集合的所有元素

              集合名.indexOf(元素);   返回該元素的索引,無則返回-1

              集合名.equals(元素); 判斷該元素是否與集合的元素一致  返回true

false

          改:集合名.set(數字,元素); 用該元素替換指定位置的元素

        其它:集合名.size(); 獲取集合的大小

二、Set集合

1Set實現的超級父類介面:Collection

2、瞭解HashSet

A):定義的格式:  HashSet<具體型別> 集合名 =  HashSet<具體型別>();

B):資料的儲存方式:遵循Hash演算法來儲存資料

C):物件的型別:必須要定義集合物件型別,否則會影響後續的使用

D):集合的設計:泛型的方式進行型別指定:HashSet<具體型別>

特點:元素無序、不可重複,可變大小的容器

注意:底層並非真正的無序,遵循Hash演算法來保證資料的儲存,但是我們作為使用者,就理解為無序

遍歷:需要使用迭代器:Iterator<型別> 名稱 = 集合名.iterator();

E):基本操作:

增加:集合名.add(元素);   新增指定元素(之前集合不過包含的)

刪除:集合名.remove(元素);  移去指定的元素

      集合名.clear();    清空集合

判斷:集合名.containts(元素);  如果集合包含此元素,返回true

其它:集合名.size();   獲得集合的大小

              Iterator<型別> 名稱 = 集合名.iterator();  用於集合的遍歷

三、Map集合

1Map沒有實現的超級父類介面,不是Collection的直接介面子類

2、瞭解HashMap

A):定義的格式:HashMap<型別,型別> 集合名 = new HashMap<型別,型別>();

B):資料的儲存方法:key+value的儲存方式

C)物件的型別:必須要定義集合物件型別,否則會影響後續的使用

D)集合的設計:泛型的方式進行型別的指定:HashMap<具體型別>

                      特點:一條資料,是由兩部分組成:鍵和值,元素無序、不可重複,可變大小的容器

      遍歷:需要使用鍵的迭代器   Set<型別> 名稱1 = 集合名.keySet();

Iterator<型別> 名稱 = 名稱1.iterator();

E):基本操作

增加:集合名.put(鍵,值);  在此對映中關聯指定值與指定鍵(是put,不是add

刪除:集合名.remove();  從對映中移除指定鍵的對映關係(如果存在)

判斷:集合名.containsKey();  如果此對映包含對於指定鍵的對映關係,返回true

集合名.containsValue(); 如果此對映將一個或多個鍵對映到指定值,返回true

其它:集合名.size();  獲得集合的大小

注意:在Map集合中,一個鍵只能對應有一個值,但一個值可以有多個鍵對應,如果說放(put)了一個相同的鍵到map中,則新元素會替換原來的元素,會把替換掉的元素返回出來,你可以接收到,並做後續處理