本篇內(nèi)容介紹了“Java集合容器有什么特點(diǎn)”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)西塞山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
集合容器是Java開發(fā)中最基礎(chǔ)API模塊,通常用來存儲(chǔ)運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建的元素,基本特點(diǎn)如下:
泛型特點(diǎn),存儲(chǔ)任意類型對(duì)象;
動(dòng)態(tài)擴(kuò)容,存儲(chǔ)任意數(shù)量對(duì)象;
這里對(duì)存儲(chǔ)數(shù)量是受到程序和內(nèi)存等環(huán)境制約的,從List的get()方法中可以看出,index的范圍是Integer.MAX_VALUE。
三大核心接口:List、Set繼承Collection, Map獨(dú)立接口
List與Set體系
List體系核心API:ArrayList,LinkedList、Vector
Set體系核心API:HashSet、TreeSet、LinkedHashSet
Queue隊(duì)列API:PriorityQueue、LinkedHashSet
Map體系
Map體系核心API:HashMap、LinkedHashMap、TreeMap、Hashtable
元素存儲(chǔ),增刪改查判斷等基礎(chǔ)用法
API方法中線程安全問題
容器初始化大小與動(dòng)態(tài)擴(kuò)容機(jī)制
底層數(shù)據(jù)結(jié)構(gòu)特點(diǎn)
同一接口或者不同接口體系容器對(duì)比
基本熟練使用并理解集合容器,需要知道如上幾塊內(nèi)容:API基礎(chǔ)用法,線程安全問題;容器大小與擴(kuò)容;結(jié)構(gòu)特點(diǎn),數(shù)組、鏈表、哈希表;
Collection:集合容器的根接口,定義公共方法;
List體系:
ArrayList
維護(hù)Object數(shù)組實(shí)現(xiàn),特點(diǎn):查詢快,增刪慢,非線程安全,所以效率高。
LinkedList
底層維護(hù)鏈表數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),特點(diǎn):查詢慢,增刪快,非線程安全,所以效率高。
Vector
底部維護(hù)Object數(shù)組,實(shí)現(xiàn)和ArrayList一樣,但是Vector是線程安全,效率低。
Set體系:
HashSet
底層是使用了哈希表來支持的,特點(diǎn):存取速度快,元素唯一且無序。
LinkedHashSet
底層數(shù)據(jù)結(jié)構(gòu)是鏈表和哈希表,鏈表保證元素有序性,哈希表保證元素唯一性,非線程安全。
TreeSet
數(shù)據(jù)結(jié)構(gòu)是紅黑樹,如果元素具備自然順序的特性,那么就按照元素自然順序的特性進(jìn)行排序,或者基于比較器自定義排序。
Map體系:
Map接口的實(shí)現(xiàn)類,具備的特點(diǎn):存儲(chǔ)的數(shù)據(jù)都是以鍵值對(duì)的方式,鍵不可以重復(fù),值可重復(fù)。
HashMap
底層使用hashCode表來實(shí)現(xiàn)向HashMap中添加元素,允許使用null值和null鍵,不保證元素的順序固定。
TreeMap
TreeMap:基于二叉樹的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的,會(huì)對(duì)具備自然特性的鍵進(jìn)行排序存儲(chǔ):元素的鍵具備自然特性,直接排序存儲(chǔ);不具備自然特性,實(shí)現(xiàn)Comparable接口,在ComparaTo中定義排序規(guī)則。
HashTable
線程安全,相對(duì)效率低,不允許使用null值。
基于for、foreach、while流程控制
Iterable迭代器核心接口
Lambda表達(dá)式:遍歷、分組、查詢
“Java集合容器有什么特點(diǎn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!