1.Collection接口
2.ArrayList

3.LinkedList

4.set和排序


相同點:單例集合,數(shù)據(jù)不可重復(fù)
不同點1:底層使用的儲存數(shù)據(jù)結(jié)構(gòu)不同:
1,Hashset底層使用的是HashMap哈希表結(jié)構(gòu)儲存
2,而Treeset底層用的是TreeMap樹結(jié)構(gòu)儲存。
不同點2:儲存的數(shù)據(jù)保存唯一方式不用。
1,Hashset是通過復(fù)寫hashCode()方法和equals()方法來保證的。
2,而Treeset是通過Compareable接口的compareto方法來保證的。
不同點3:
hashset無序 ? Treeset有序
儲存原理:
hashset:底層數(shù)據(jù)結(jié)構(gòu)是哈希表,本質(zhì)就是哈希值儲存。通過判斷元素的hashcode方法和equals方法來保證元素的唯一性。當(dāng)哈希值不同時就直接進(jìn)行儲存。
如果相同,會判斷一次equals方式是否返回為true ,如果是true 則視為用的同一個元素,不用再儲存。如果是false,這俄格相同哈希值不同內(nèi)容的元素會放在同一個桶里(
當(dāng)哈希表中有一個桶結(jié)構(gòu),每一個捅都有一個哈希值)
Treeset:底層數(shù)據(jù)結(jié)構(gòu)式一個二叉樹,可以對set集合中的元素進(jìn)行排序,這種結(jié)構(gòu),可以提高排序性能。根據(jù)比較方法的返回值決定的,只要返回的是0,就代表元素重復(fù)



5.iterator


6.map接口



3.兩種常規(guī)Map性能
HashMap:適用于在Map中插入、刪除和定位元素。
Treemap:適用于按自然順序或自定義順序遍歷鍵(key)。
4.總結(jié)
HashMap通常比TreeMap快一點(樹和哈希表的數(shù)據(jù)結(jié)構(gòu)使然),建議多使用HashMap,在需要排序的Map時候才用TreeMap。

map使用iterator必須實現(xiàn)Entry接口

7.Collections
