溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java集合框架怎么用

發(fā)布時間:2021-11-03 10:41:49 來源:億速云 閱讀:121 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“java集合框架怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“java集合框架怎么用”這篇文章吧。

在java中集合使用可謂非常廣泛,集合類是java.util包中的重要內(nèi)容,它允許以各種方式將元素分組,并定義了各種使這些元素更容易操作的方法。Java集合類是Java將一些基本的和使用頻率極高的基礎類進行封裝和增強后再以一個類的形式提供。集合類是可以往里面保存多個對象的類,存放的是對象,不同的集合類有不同的功能和特點,適合不同的場合,用以解決一些實際問題。
集合框架被設計成要滿足以下幾個目標

1. 該框架必須是高性能的?;炯希▌討B(tài)數(shù)組,鏈表,樹,哈希表)的實現(xiàn)也必須是高效的。

2. 該框架允許不同類型的集合,以類似的方式工作,具有高度的互操作性。

3.  對一個集合的擴展和適應必須是簡單的。為此,整個集合框架就圍繞一組標準接口而設計。
    你可以直接使用這些接口的標準實現(xiàn),諸如: LinkedList, HashSet, 和 TreeSet 等,
    除此之外你也可以通過這些接口實現(xiàn)自己的集合。

Java集合框架圖如下:

java集合框架怎么用

從上面的集合框架圖可以看到,Java 集合框架主要包括兩種類型的容器,一種是集合(Collection),存儲一個元素集合,另一種是圖(Map),存儲鍵/值對映射。Collection 接口又有 3 種子類型,List、Set 和 Queue,再下面是一些抽象類,最后是具體實現(xiàn)類,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。

Java集合相信大家都或多或少都用過,這里就不具體介紹了,下面主要就看看這些集合有那些區(qū)別:

大的區(qū)別

提供這么多的集合類,總的來說也就是為了實現(xiàn)不同的功能,比如Set元素不能重復,List可以重復,Queue先進先出,不允許隨機訪問隊列中的元素,Map含健值對,每個里面又可以再細分一些類可以排序,或支持并發(fā)等。
像LinkedList實現(xiàn)了List和Queue,既能作為 先進先出隊列,又能作為 雙端隊列,還具備棧的能力。
LinkedHashSet繼承HashSet,ArrayDeque實現(xiàn)Queue,用數(shù)組實現(xiàn)雙端隊列。
Stack 基于 Vector 實現(xiàn)。TreeSet 基于 TreeMap 實現(xiàn),支持排序。

ArrayList,HashSet,LinkedHashSet,HashMap ,LinkedHashMap ,Hashtable ,LinkedList,Vector 等實現(xiàn)的區(qū)別

ArrayList:該類也是實現(xiàn)了List的接口,實現(xiàn)了可變大小的數(shù)組,隨機訪問和遍歷元素時,提供更好的性能。該類也是非同步的,在多線程的情況下不要使用。ArrayList 增長當前長度的50%,插入刪除效率低。

HashSet:該類實現(xiàn)了Set接口,不允許出現(xiàn)重復元素,不保證集合中元素的順序,允許包含值為null的元素,但最多只能一個。

LinkedHashSet:具有可預知迭代順序的 Set 接口的哈希表和鏈接列表實現(xiàn)。

HashMap :是一個散列表,它存儲的內(nèi)容是鍵值對(key-value)映射。該類實現(xiàn)了Map接口,根據(jù)鍵的HashCode值存儲數(shù)據(jù),具有很快的訪問速度,最多允許一條記錄的鍵為null,不支持線程同步。

LinkedHashMap :繼承于HashMap,使用元素的自然順序?qū)υ剡M行排序.

Hashtable:是 Dictionary(字典) 類的子類,位于 java.util 包中。是線程安全的;

LinkedList:該類實現(xiàn)了List接口,允許有null(空)元素。主要用于創(chuàng)建鏈表數(shù)據(jù)結(jié)構(gòu),該類沒有同步方法,需自己去實現(xiàn)訪問同步,實現(xiàn)方式是在創(chuàng)建List時,創(chuàng)建一個同步List,如:
List list = Collections.synchronizedList(newLinkedList(…));

Vector :該類和ArrayList非常相似,但是該類是同步的,可以用在多線程的情況,該類允許設置默認的增長長度,默認擴容方式為原來的2倍。

以上是“java集合框架怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI