Collection 集合框架小結

2021-07-29 10:48:45 字數 1403 閱讀 6643

1:collection 介面 主要包括 list 介面與set 介面 這兩個介面是我們比較常用的,用來對單個物件進行操作的

1.list介面,適合遍歷與排序,不適合插入與刪除操作。 是有序的,允許有重複元素,允許有null值。它主要的實現類有

(1)  arraylist: 此資料結構是基於動態陣列來實現的。預設初始陣列大小為10,動態擴充的演算法是:原來陣列

大小+原來陣列/2;執行緒不安全,jdk1.2出現的。

(2)  vector :    此資料結構是基於動態陣列來實現的。預設初始陣列大小為10,動態擴充演算法是:原來陣列大

小+增量,如果增量為0,擴充演算法為:原來陣列大小*2執行緒安全,jdk1.0的時候就有了。

(3) linkedlist:沒有預設容量, 此資料結構是基於鍊錶來實現的。相對於前面兩個來說更加適合新增和刪除,

不適合查詢和遍歷。執行緒不安全。  

2. set介面,適合插入與刪除操作,不適合遍歷。是無序的,不允許有重複值,只允許有乙個null值。

(1) hashset: 此資料結構是基於動態陣列和鍊錶來實現的。預設初始動態陣列大小為16,動態擴充演算法是:當

儲存空間的大小達到載入因子的比例的,原來陣列大小*2。執行緒不安全,適合大資料的儲存。通過hashcode()

方法來儲存物件的位置。 通過重寫equlse()與hashcode()來保證新增的物件是否重複。

(2) linkedhashse

t:是hashset 的子類,使用鍊錶來維護新增順序的乙個雜湊表實現,來解決排序問題。

(3)treeset:此資料結構是基於二叉樹來實現的。是有序的,排序是基於comparable介面來實現的。執行緒不安全,

不允許有null值。

2:map介面 主要包括hashmap,hashtable,treemap,linkedhashmap。此介面用於對兩個物件一起進行操作,乙個是key ,

乙個是value。

(1)hashmap:基於雜湊表來實現的,預設容量為16,動態擴充演算法是:當儲存空間的大小達到載入因子的比例的,

原來陣列大小*2。 執行緒不安全。無序的,允許有null的鍵和值,jdk1.2引進。其父類是abstracmap。

(2) hashtable:基於雜湊表來實現的,預設容量為11,動態擴充演算法是:當儲存空間的大小達到載入因子的比例的,

原來陣列大小*2+1。執行緒安全。無序的,允許不允許有null的鍵和值,jdk1.0引進。其父類是

dictionary。

(3)treemap:基於二叉樹的紅黑平衡樹實現的,執行緒不安全,可以實現自然順序排序,當key為自定義物件時,該對

象必須實現comparable介面來比較物件的排序,並且用於檢測重複值。

集合框架 Collection

collection是集合框架體系中的根介面,它有兩個常用的子介面,別是list和set list 有序 儲存順序和取出順序一致 可重複。實現了list介面的子類以及這些子類的區別 arraylist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高。vector 底層資料結構是陣列,查詢快...

集合框架Collection

collection集合用於儲存物件,長度是可變的,共有的方法有 增 add 刪 remove 獲取 size 判斷 contains,isempetylist 集合是 有順序,可以重複,其中特有的方法有 獲取 get sublist listiterator 改 set arraylist 底層是...

Java之集合框架Collection

一 集合框架概述 1 集合類的出現 物件導向語言對事物的體現的體現都是以物件的形式,所以為了方便對多個物件的操作,就對物件進行儲存,集合就是儲存物件最常用的一種方式。2 陣列與集合的異同 陣列和集合同是容器,陣列既能儲存基本資料型別,也能儲存物件,集合只能儲存物件,陣列的長度是固定的,集合的長度是可...