無序可變的陣列,不允許新增重複元素,如果檢視把兩個相同的元素加入到同乙個集合中,add方法返回false.
set判斷物件是否相同使用equals方法,返回true就表示兩個物件相同 set不會接受.
hashset:
不能保證元素的排列順序,
不是同步的(執行緒不安全)
集合元素可以是null,但只能放入乙個null
linkedhashset:
使用鍊錶維護元素的次序.使得元素看起來像是以插入順序儲存的,當遍歷該集合的時候,linkedhashset將會以元素的新增順序訪問集合的元素.
在迭代訪問set中的全部元素時,效能比hashset好,但是插入時效能稍遜色於hashset.
treeset:
1.是sortedset介面的唯一實現類,treeset可以確保集合元素處於排序狀態。
2.支援兩種排序方式,自然排序 和定製排序,其中自然排序為預設的排序方式。
3.t判斷兩個物件相等的方式是兩個物件通過equals方法返回true
乙個 list 是乙個元素有序的、可以重複、可以為 null 的集合(有時候我們也叫它「序列」).
arraylist:
代表長度可以改變得陣列。可以對元素進行隨機的訪問,向arraylist()中插入與刪除元素的速度慢。
linkedlist:
在實現中採用鍊錶資料結構。插入和刪除速度快,訪問速度慢。
vector:
與arraylist一樣,也是通過陣列實現的,不同的是它支援執行緒的同步因此訪問它比訪問arraylist慢。
map是一種把鍵物件和值物件對映的集合,它的每乙個元素都包含一對鍵物件和值物件。 map沒有繼承於collection介面 從map集合中檢索元素時,只要給出鍵物件,就會返回對應的值物件。
hashtable:
實現乙個雜湊表,該雜湊表將鍵對映到相應的值。任何非 null 物件都可以用作鍵或值。為了成功地在雜湊表中儲存和獲取物件,用作鍵的物件必須實現 hashcode 方法和 equals 方法。
hashmap:
map基於雜湊表的實現。插入和查詢「鍵值對」的開銷是固定的。可以通過構造器設定容量capacity和負載因子load factor,以調整容器的效能。
linkedhashmap:類似於hashmap,但是迭代遍歷它時,取得「鍵值對」的順序是其插入次序,或者是最近最少使用(lru)的次序。只比hashmap慢一點。而在迭代訪問時發而更快,因為它使用鍊錶維護內部次序。
treemap:
基於紅黑樹資料結構的實現。檢視時會被排序(次序由comparabel或comparator決定)。treemap的特點在於:得到的結果是經過排序的。treemap是唯一的帶有submap()方法的map,它可以返回乙個子樹。
java集合框架
集合框架包括集合與對映 collection and map 以及它們的子類 容器類 1 list 元素有先後次序的集合,元素有index位置,元素可以重複,繼承自collection介面,實現類 arraylist,vector,linkedlist 2 set 元素無續,不能重複新增,是數學意義...
java集合框架
框架 為了解決某一特定的問題,預先設計好的一系列具有繼承或實現關係的類的介面。集合裡的三大類 list直接繼承collection 特點 線性,有序 arraylist底層的實現是陣列 使用範圍 當某一陣列在實際應用中大量使用查詢和新增功能的時候用arraylist linkedlist底層的實現是...
java 集合框架
集合一般使用list,set,map首先說下list 1.list一般使用arraylist,linkedlist list的特點有序,重複,那麼arraylist和linkedlist的區別 arraylist插入和刪除資料慢,取值速度快,實際上arraylist是陣列的擴充 linkedlist...