快速了解Java集合框架菜鳥教程

快速了解Java集合框架菜鳥教程

北大青鳥長沙麓谷校區(qū)      2022-05-06 05:14:01     88

快速了解Java集合框架菜鳥教程,快速了解Java集合框架菜鳥教程,JDK1.2引入了Java集合框架,包含一組數(shù)據(jù)結構。與數(shù)組不同,這些數(shù)據(jù)結構的存儲空間會隨著元素添

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

快速了解Java集合框架菜鳥教程,JDK1.2引入了Java集合框架,包含一組數(shù)據(jù)結構。與數(shù)組不同,這些數(shù)據(jù)結構的存儲空間會隨著元素添加動態(tài)增加。其中,一些支持添加重復元素另一些不支持,一些支持null,一些能自動升序打印元素。

  所有這些數(shù)據(jù)結構在java.util包里,包含了Collection、List、Set、Map、SortedMap接口。這些接口的實現(xiàn)類有l(wèi)inkedList、TreeSet、ArrayList、HashMap等。除了這些數(shù)據(jù)結構,java.util包還提供了Date、GregorianCalender、StringTokenizer、Random這樣的工具類。

  2.分類

  可以按照接口、實現(xiàn)、算法三個方面對集合框架中的數(shù)據(jù)結構進行分類:

  接口:Collection、List、Map組成了集合框架中所有具體實現(xiàn)類的接口,它們定義了子類必須實現(xiàn)的方法,非常好記。比如向集合添加元素,會用到Collection中定義的add()方法

  實現(xiàn):所有實現(xiàn)了上述3個接口的類,都被稱作集合框架,實際上就是數(shù)據(jù)結構。比如linkedList、TreeSet等

  算法:集合框架提供了很多可以直接調用的算法,比如求最大最小值、排序、填充等

  3.優(yōu)缺點

  有以下4個優(yōu)點

  減少工作量的同時增加了軟件的可用性:不需要每個程序員動手實現(xiàn)排序、查找、找出元素在數(shù)據(jù)結構中出現(xiàn)的次數(shù)

  執(zhí)行速度更快更持久:集合框架的底層數(shù)據(jù)結構分為兩類,基于節(jié)點的和基于數(shù)組的,前者在頻繁添加時效率更高,后者在頻繁讀取時速度更快。一些數(shù)據(jù)結構是synchronized線程安全的,但會影響速度有,另一些則不是線程安全的。程序員在選用數(shù)據(jù)結構前要清楚地了解這些因素

  互操作與轉換:由于實現(xiàn)了Collection接口,數(shù)據(jù)結構之間是可以相互轉換的。可以clone,可以把現(xiàn)有的結構轉成synchronized版本,還可以在把基于鏈表的數(shù)據(jù)結構轉為基于數(shù)組的結構

  有以下2個缺點

  當心類型轉換:在集合框架類之間進行轉換時要大大地小心,尤其要考慮泛型類型的兼容性

  運行時類型檢查:集合框架在運行時會拋出異常,需要編程時多加注意

  4.繼承體系

  java.util中的數(shù)據(jù)結構繼承體系分為兩大類,一類實現(xiàn)了Collection接口,一類實現(xiàn)了Map接口。

  Collection繼承體系(圖片來自Wikipedia)

  Map繼承體系(圖片來自Wikipedia)

  集合框架核心接口及實現(xiàn)類:

  Collection:根接口,大部分數(shù)據(jù)結構都實現(xiàn)了Collection接口中的方法

  Set:實現(xiàn)Set接口的數(shù)據(jù)結構不允許重復的元素,例如HashSet、linkedHashSet

  SortedSet:實現(xiàn)SortedSet接口的數(shù)據(jù)結構默認可按升序打印元素,例如TreeSet

  List:實現(xiàn)List接口的數(shù)據(jù)結構允許重復元素,可通過index訪問元素,例如linkedList、ArrayList、Vector

  Map:實現(xiàn)Map接口的數(shù)據(jù)結構存儲鍵值對,不允許重復的key,例如HashMap、linkedHashMap、Hashtable

  SortedMap:繼承了Map接口,存儲鍵值對,不允許重復的key,默認可按key升序打印元素,例如TreeMap

  SortedSet與SortedMap默認的排序是自然序,可通過Comparator或Comparable接口實現(xiàn)自定義排序。

  在接口與具體的實現(xiàn)類之間還有一些抽象類,如下圖:

  這些抽象類為集合增加了很多功能:

  HashSet:實現(xiàn)Set接口,不允許重復的元素,底層數(shù)據(jù)結構hashtable

  linkedHashSet:實現(xiàn)Set接口,不允許重復的元素,底層數(shù)據(jù)結構hashtable與雙鏈表

  TreeSet:實現(xiàn)NavigableSet接口,不允許重復的元素,底層數(shù)據(jù)結構紅黑樹

  ArrayList:實現(xiàn)List接口,允許重復元素,底層數(shù)據(jù)結構可變數(shù)組

  linkedList:實現(xiàn)List接口,允許重復元素,底層數(shù)據(jù)結構雙鏈表

  Vector:實現(xiàn)List接口,允許重復元素,底層數(shù)據(jù)結構可變數(shù)組

  HashMap:實現(xiàn)Map接口,不允許重復的key,底層數(shù)據(jù)結構hashtable

  linkedHashMap:實現(xiàn)Map接口,不允許重復的key,底層數(shù)據(jù)結構hashtable與雙鏈表

  HashTable:實現(xiàn)Map接口,不允許重復的key,底層數(shù)據(jù)結構hashtable

  TreeMap:實現(xiàn)SortedMap接口,不允許重復的key,底層數(shù)據(jù)結構紅黑樹

       以上就是北大青鳥長沙麓谷校區(qū)Java培訓機構小編介紹的“快速了解Java集合框架菜鳥教程”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。

  相關文章

  Java培訓教程:Java集合框架源碼學習

  Java集合框架詳解,學習Java不求人

  你需要了解的Java集合類框架

  深入Java集合學習系列:集合框架

Java菜鳥教程

培訓啦提醒您:交易時請核實對方資質,對于過大宣傳或承諾需謹慎!任何要求預付定金、匯款等方式均存在風險,謹防上當。