Java三大集合類總結
阿新 • • 發佈:2018-12-23
關於Java三大集合類Set,List和Map及各子類集合的區別
1. 所有常用集合類特性比較
集合類 |
常用具體實現類 |
是否有序 |
執行緒安全 |
元素可否為null |
元素是否可重複 |
操作效率 |
底層、實現 |
||||||||||||||||||
|
|
都有序,可以使用get(Index)方法取值 |
|
都允許 |
都可重 |
|
|
||||||||||||||||||
|
|
|
都是非執行緒安全的 |
|
都不可重複 |
|
|
||||||||||||||||||
|
|
|
|
|
鍵都不可重,值都可重 |
|
|
2. HashSet與TreeSet
- 當向HashSet結合中存入一個元素時,HashSet會呼叫該物件的hashCode()方法來得到該物件的hashCode值,然後根據 hashCode值來決定該物件在HashSet中儲存位置。
- 而TreeSet支援兩種排序方式,自然排序和定製排序,其中自然排序為預設的排序方式。向 TreeSet中加入的應該是同一個類的物件。TreeSet判斷兩個物件不相等的方式是兩個物件通過equals方法返回false,或者通過CompareTo方法比較沒有返回0。
-
HashMap是基於雜湊表的Map介面的非同步實現。此實現提供所有可選的對映操作,並允許使用null值和null鍵。此類不保證對映的順序,特別是它不保證該順序恆久不變。
- ……
3. HashMap和HashTable的區別
- ……/**以後再寫**/