java 集合架構的由來
在Java2之前,java是沒有完整的集合架構的,它只有一些簡單的可以自擴充的容器類,比如Vector,Stack,Hashtable等。java collections Framework(JCF)是通用的容器。 為什麼存在容器類。 容器類可以儲存多個資料,且java的容器類只能存放對象,對於基本類型(int,long,float,double等)需要被封裝成物件類型後(Integer,Long,Float,Double等)才能放到容器裡。這樣會導致額外的效能和空間的開銷。
- 數組既可以儲存基本類型的資料也可以儲存對象。在數組可以儲存多個資料的情況下,為什麼還要定義容器類。
數組的弊端:
1.數組一旦初始化後其長度是固定不變的。
2.如果在N個地方需要儲存多個資料,都要專門編寫數組的操作方法,如此一來,沒有實現DRY原則,即代碼功能重複—破壞封裝。
3.如果每一個人都要用到數組類,但是不同的人定義的類名和方法都是不同的,實現細節也是參差不齊的。SUN公司自己定義好累容器類,每一個開發人員只管調用即可。 什麼是集合架構。
儘管這些容器類非常好用,但是卻不能集中和統一管理。集合架構是為表示和操作集合而規定的一種統一的標準的體繫結構。 任何集合架構都包含三個內容:
1.對外的介面
2.介面的實現
3.對集合運算的演算法(底層對應著某一種資料結構的演算法) 為什麼需要集合架構(有關集合的類和介面都存在與java.util的工具包中)
1.提供代碼功能的複用
2.讓開發人員專註於業務的開發,而不是資料結構和演算法 常用的集合類:
1.Set(集):集合的對象不按特定的方式排序,不允許元素重複。相當於數學中的集合
2.List(列表):集合中的對象按照索引位置排序,允許元素重複。
3.Map(映射):集合中的每一個元素都包含一對key和value對象,key對象不能重複,但value對象可以重複。
此文章是根據網上小馬哥視頻總結。
謝謝閱讀。