Java集合篇(1)如何正確打開Java集合框架

Java集合源碼解析系列博客

轉載請標明出處:
https://blog.csdn.net/u011035026/article/details/103259019

1、Java集合框架的認識

 我們平時寫代碼時候,經常會用到Java的一些集合類,但是我們有真正的人系統的認識它們嗎?或者你認識了,過了一段時間你還記得它們嗎?相信大多數同學都是僅僅對集合類中的某一些常用的類有印象,因此現在我想把這些集合類進行一個詳細的整理,從而方便自己和大家們一起加深對Java集合類的認識。

 根據上述思路,咱們先看下來源,Java集合是Java提供的工具包,包含了常用的數據結構:集合、鏈表、隊列、棧、數組、映射等等,Java集合工具包的位置是java.util.*,Java集合主要有4個部分:List列表、Set集合、Map映射、工具類(Iterator迭代器、Enumeration枚舉類、Arrays和Collections)。

 集合框架是一個用來代表和操縱集合的統一架構,所有的集合框架都包含如下內容:

  • 接口:是代表集合的抽象數據類型。例如Collection、List、Set、Map等。之所以定義多個接口,是爲了以不同的方式操作集合對象。
  • 實現(類):是集合接口的具體實現。從本質上講,它們是可重複使用的數據結構,例如:ArrayList、LinkedList、HashSet、HashMap。
  • 算法:是實現集合接口的對象裏的方法執行的一些有用的計算,例如:搜索和排序。這些算法被稱爲多態,那是因爲相同的方法可以在相似的接口上有着不同的實現。
  • 除了集合,該框架也定義了幾個Map接口和類。Map裏存儲的是鍵/值對。儘管Map不是集合,但是它們完全整合在集合中。

2、Java集合框架圖


注意:虛線框是接口,實線框是類。
 看到上圖後是不是覺得有點亂,彆着急,現在咱們把它們捋一捋分個類就清楚了。
 (1)Collection,具有集合的基本操作和屬性的高度抽象的接口,有三個子類分別如下:

  • List是一個有序的隊列,實現類有4個:LinkedList, ArrayList, Vector, Stack。
  • Set是一個不允許有重複元素的集合。實現類有3個:TreeSet、HastSet、LinkHastSet。
  • Queue

 (2)Map,一個映射接口,即key-value鍵值對。

  • AbstractMap是個抽象類,它實現了Map接口中的大部分API。實現類有6個:TreeMap、HashMap、LinkHashMap、IdentityHashMap、WeakHashMap、HashTable。
  • SortedMap 是繼承於Map的接口。內容是排序的鍵值對,通過比較器(Comparator)。

 (3)Iterator,它是遍歷集合的工具,即我們通常通過Iterator迭代器來遍歷集合。

3、Java集合框架各種類的使用場景

 爲了方便描述,直接上圖比較直觀

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章