程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java聚集源碼周全剖析

Java聚集源碼周全剖析

編輯:關於JAVA

Java聚集源碼周全剖析。本站提示廣大學習愛好者:(Java聚集源碼周全剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是Java聚集源碼周全剖析正文


Java聚集對象包位於Java.util包下,包括了許多經常使用的數據構造,如數組、鏈表、棧、隊列、聚集、哈希表等。進修Java聚集框架下年夜致可以分為以下五個部門:List列表、Set聚集、Map映照、迭代器(Iterator、Enumeration)、對象類(Arrays、Collections)。

從上圖中可以看出,聚集類重要分為兩年夜類:Collection和Map。

Collection是List、Set等聚集高度籠統出來的接口,它包括了這些聚集的根本操作,它重要又分為兩年夜部門:List和Set。

List接口平日表現一個列表(數組、隊列、鏈表、棧等),個中的元素可以反復,經常使用完成類為ArrayList和LinkedList,別的還有不經常使用的Vector。別的,LinkedList照樣完成了Queue接口,是以也能夠作為隊列應用。

Set接口平日表現一個聚集,個中的元素不許可反復(經由過程hashcode和equals函數包管),經常使用完成類有HashSet和TreeSet,HashSet是經由過程Map中的HashMap完成的,而TreeSet是經由過程Map中的TreeMap完成的。別的,TreeSet還完成了SortedSet接口,是以是有序的聚集(聚集中的元素要完成Comparable接口,並覆寫Compartor函數才行)。

我們看到,籠統類AbstractCollection、AbstractList和AbstractSet分離完成了Collection、List和Set接口,這就是在Java聚集框架頂用的許多的適配器設計形式,用這些籠統類去完成接口,在籠統類中完成接口中的若干或全體辦法,如許上面的一些類只需直接繼續該籠統類,並完成本身須要的辦法便可,而不消完成接口中的全體籠統辦法。

Map是一個映照接口,個中的每一個元素都是一個key-value鍵值對,異樣籠統類AbstractMap經由過程適配器形式完成了Map接口中的年夜部門函數,TreeMap、HashMap、WeakHashMap等完成類都經由過程繼續AbstractMap來完成,別的,不經常使用的HashTable直接完成了Map接口,它和Vector都是JDK1.0就引入的聚集類。

Iterator是遍歷聚集的迭代器(不克不及遍歷Map,只用來遍歷Collection),Collection的完成類都完成了iterator()函數,它前往一個Iterator對象,用來遍歷聚集,ListIterator則專門用來遍歷List。而Enumeration則是JDK1.0時引入的,感化與Iterator雷同,但它的功效比Iterator要少,它只能再Hashtable、Vector和Stack中應用。

Arrays和Collections是用來操作數組、聚集的兩個對象類,例如在ArrayList和Vector中年夜量挪用了Arrays.Copyof()辦法,而Collections中有許多靜態辦法可以前往各聚集類的synchronized版本,即線程平安的版本,固然了,假如要用線程平安的聯合類,首選Concurrent並發包下的對應的聚集類。

以上這篇Java聚集源碼周全剖析就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved