溫馨提示×

溫馨提示×

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

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

Java集合容器有什么特點

發(fā)布時間:2021-11-24 16:15:48 來源:億速云 閱讀:298 作者:iii 欄目:大數(shù)據(jù)

本篇內容介紹了“Java集合容器有什么特點”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、集合容器簡介

集合容器是Java開發(fā)中最基礎API模塊,通常用來存儲運行時動態(tài)創(chuàng)建的元素,基本特點如下:

  • 泛型特點,存儲任意類型對象;

  • 動態(tài)擴容,存儲任意數(shù)量對象;

這里對存儲數(shù)量是受到程序和內存等環(huán)境制約的,從List的get()方法中可以看出,index的范圍是Integer.MAX_VALUE。

二、API體系

三大核心接口:List、Set繼承Collection, Map獨立接口

List與Set體系

Java集合容器有什么特點

List體系核心API:ArrayList,LinkedList、Vector

Set體系核心API:HashSet、TreeSet、LinkedHashSet

Queue隊列API:PriorityQueue、LinkedHashSet

Map體系

Java集合容器有什么特點

Map體系核心API:HashMap、LinkedHashMap、TreeMap、Hashtable

三、基礎容器詳解

1、核心內容

Java集合容器有什么特點

  • 元素存儲,增刪改查判斷等基礎用法

  • API方法中線程安全問題

  • 容器初始化大小與動態(tài)擴容機制

  • 底層數(shù)據(jù)結構特點

  • 同一接口或者不同接口體系容器對比

基本熟練使用并理解集合容器,需要知道如上幾塊內容:API基礎用法,線程安全問題;容器大小與擴容;結構特點,數(shù)組、鏈表、哈希表;

2、API體系詳解

Collection:集合容器的根接口,定義公共方法;

List體系

  • ArrayList

維護Object數(shù)組實現(xiàn),特點:查詢快,增刪慢,非線程安全,所以效率高。

  • LinkedList

底層維護鏈表數(shù)據(jù)結構實現(xiàn),特點:查詢慢,增刪快,非線程安全,所以效率高。

  • Vector

底部維護Object數(shù)組,實現(xiàn)和ArrayList一樣,但是Vector是線程安全,效率低。

Set體系

  • HashSet

底層是使用了哈希表來支持的,特點:存取速度快,元素唯一且無序。

  • LinkedHashSet

底層數(shù)據(jù)結構是鏈表和哈希表,鏈表保證元素有序性,哈希表保證元素唯一性,非線程安全。

  • TreeSet

數(shù)據(jù)結構是紅黑樹,如果元素具備自然順序的特性,那么就按照元素自然順序的特性進行排序,或者基于比較器自定義排序。

Map體系:

Map接口的實現(xiàn)類,具備的特點:存儲的數(shù)據(jù)都是以鍵值對的方式,鍵不可以重復,值可重復。

  • HashMap

底層使用hashCode表來實現(xiàn)向HashMap中添加元素,允許使用null值和null鍵,不保證元素的順序固定。

  • TreeMap

TreeMap:基于二叉樹的數(shù)據(jù)結構實現(xiàn)的,會對具備自然特性的鍵進行排序存儲:元素的鍵具備自然特性,直接排序存儲;不具備自然特性,實現(xiàn)Comparable接口,在ComparaTo中定義排序規(guī)則。

  • HashTable

線程安全,相對效率低,不允許使用null值。

3、容器遍歷

  • 基于for、foreach、while流程控制

  • Iterable迭代器核心接口

  • Lambda表達式:遍歷、分組、查詢

“Java集合容器有什么特點”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

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

AI