【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 無序...