java中的集合

2021-07-06 06:03:33 字數 1439 閱讀 6763

【set】

hashset無序不重複,底層資料結構是雜湊表,執行緒非同步,保證元素唯一性原理是判斷hashcode值是否相同(位址相同),如果相同還會繼續判斷equals方法是否為true(是否是同乙個物件)

treeset字典序不重複,底層資料是二叉樹,保證元素唯一性原理是compareto方法return 0,因為集合必須具有可比性

可比性實現方法一:實現compareable介面,重寫compareto方法則會具有可比性

方法二:自己建立乙個類實現comparator介面,複寫其compare方法和equals

class mycompare implements comparator

}public static void main(string args)

linkhashset按輸入序列有序不重複

【list】有序可重複 

arraylist 底層是陣列

arraylist 

方法: a1.add("aaa")

a1.add(2,"aaa");

a1.retainall(a2)  //取交集,a1中只會留下a1和a2的交集元素 

a1.removeall(a2)  //刪除a1中與a2相交的元素

a1.containsall(a2)  //如果a1中包含a2中所有元素則返回true

a1.iterator(); //獲取迭代器 iterator 物件有三個方法 hasnext() next() remove()

linkedlist 底層是一鍊錶實現

vector 底層也是陣列實現,但是可變長度,利用列舉遍歷元素

【map】

hashmap無序,不可重複(以k為準)

【什麼是迭代器】是集合元素的取出方式,由於不同的集合資料結構不同,其相應的內部取出方式也不同,則將訪問操作封裝成乙個內部類,每個集合內部包含這個內部類,但每個集合對該類的內部實現不同

【collection介面】是集合的最頂端

【泛型】

可以下定義集合時指定型別,解決安全問題

【collections】

此類完全由在 collection 上進行操作或返回 collection 的靜態方法組成。它包含在 collection 上操作的多型演算法,即「包裝器」,包裝器返回由指定 collection 支援的新 collection,以及少數其他內容

既可以操作所有集合

例:方法sort

public static > void sort(listlist)

//list集合元素必須是具有可比性的那麼就必須實現compareable介面,可以接受子類故?可以繼承自t

listlist = new arraylist()

list.add("aaa");

list.add("sss");

list.add("add");

collections.sort(list);

Java中的集合

有序的 允許重複的 arraylist實現類 基於陣列實現 remove語句,刪除成功則返回true,不成功則返回false 注 不要在迭代時進行刪除,否則會出錯,可以使用迭代器自身的remove方法,如上。linklist實現類 基於鍊錶實現 與arraylist區別 越靠近頭部的新增刪除,arr...

java中的集合

1.1 collection介面 新增 add e e addall collectionc 刪除 clear 清空集合 remove object o 刪除乙個元素 removeall collection c 刪除兩個集合的交集部分 retainall collection c 刪除兩個集合沒有...

java中的集合

合集主要包括 collection 和 map.它們都實現了iterator,這是乙個遍歷集合中元素的介面.collection主要包括list 和 set.list arraylist,linkedlist set hashset,treeset 用二叉排序樹 list 有序,可重複.set 無序...