java集合【2】——— Collection接口詳解

1、Collection接口簡介

collection在java集合中,算是頂級接口,它繼承了iterable接口,不能實例化,只能實例化其子類。之因此須要這樣一個接口,是由於java做爲面向對象,老是避免不了處理多個對象的狀況,要處理多個對象,首先須要容器存儲,這個容器就是集合。爲何有了數組,還須要集合,由於數組的功能單一,長度不可變,而有些集合實現類則是對數組操做的封裝。java

Collection集合和數組的區別:數組

  • 集合長度能夠變,數組是定長的
  • 集合存儲的元素只能是引用類型,而數組則能夠是基本類型
  • 數組只能執行基本操做,而集合功能通過拓展,更加豐富。
graph TD;
Collection -->List-有順序,可重複 
List-有順序,可重複  -->LinkedList-使用鏈表實現,線程不安全
List-有順序,可重複  -->ArrayList-數組實現,線程不安全
List-有順序,可重複  -->Vector-數組實現,線程安全
Vector-數組實現,線程安全 -->Stack-堆棧,先進後出

Collection-->Set-不可重複,內部排序
Set-不可重複,內部排序-->HashSet-hash表存儲
HashSet-hash表存儲-->LinkHashSet-鏈表維護插入順序
Set-不可重複,內部排序-->TreeSet-二叉樹實現,排序

Collection-->Queue-隊列,先進先出

2、Collection源碼分析

Collection繼承於Iterable接口,而Iterable接口,是集合的頂級接口,沒有之一,Iterable接口定義的功能是能夠迭代,也就是獲取迭代器iterator的功能,所以Collection以及其實現類也間接得到迭代的功能。 安全

爲何須要這樣子定義呢?我陷入了深深地思考...ide

相關文章
相關標籤/搜索