集合

集合框架? ??

一、collection

collection接口是所有單列集合的根,然后被List、Set、queue、Stack四大集合繼承(容量:jdk1.8版本之前,初識容量,10,超過提升為1.5倍;1.8版本以后,初識容量為0,通過add(),初識容量為10,超過提升1.5倍)

?1、List (有序,可重復(fù))

????????????1.1? Arraylist? 底層由數(shù)組實(shí)現(xiàn),有序可重復(fù),線程不安全,查找效率高

????????????1.2 LinkedList 底層由鏈表實(shí)現(xiàn),有序可重復(fù),線程不安全,增刪效率高

????????????1.3 Vector 線程安全的Arraylist (初始容量10,擴(kuò)充時(shí),2倍擴(kuò)充)

?2、set(元素是無序的,不可以重復(fù),沒有索引)

????????????2.1 HashSet:?底層數(shù)據(jù)結(jié)構(gòu)是哈希表(存入對象時(shí),先判斷hashCode()得到的值,如果一樣,再用equals方法比較,在相同就當(dāng)做同一個(gè)元素,不同就在同一個(gè)位置上串聯(lián)存儲兩個(gè)元素),線程不安全,存取速度快

? ? ? ? ? ? 2.2 TreeSet :底層數(shù)據(jù)結(jié)構(gòu)是二叉樹,線程不安全。可以對Set集合中的元素進(jìn)行排序

?3、queue:先進(jìn)先出可以考慮Queue隊(duì)列

?4、stack:先進(jìn)后出可以考慮Stack,遞歸!?。?!壓棧 ,彈棧

二、Map(雙列集合)

Map集合是一個(gè)接口,和Collection集合不同的是,它是雙列集合,也就是說他所存儲的是鍵值對。(其中鍵要求唯一,一個(gè)鍵不能對應(yīng)多個(gè)值,Map集合沒有Iterator迭代器,如果需要迭代需要轉(zhuǎn)化為單列集合間接迭代)(初始容量為16,0.75時(shí),擴(kuò)充為原來2倍)

? ???????????1、HashMap:底層由數(shù)組+鏈表+紅黑樹實(shí)現(xiàn),線程不安全,無序,鍵值可以為null,效率高。

?????????????2、ConcurrentHashMap:底層由數(shù)組+鏈表+紅黑樹實(shí)現(xiàn),線程安全,無序,鍵值不可以為null(同步代碼塊)。

? ???????????3、HashTable:底層由數(shù)組+鏈表+紅黑樹實(shí)現(xiàn),線程安全,已被取代(同步方法)

數(shù)據(jù)存儲時(shí),通過key值得hashcode,計(jì)算出hash值,如果引發(fā)hash沖突,就在該數(shù)組位置引出鏈表,當(dāng)鏈表數(shù)超過8,則變?yōu)榧t黑樹,鏈表數(shù)小于6,變?yōu)閿?shù)組+鏈表

三、迭代器

迭代器是針對單列集合使用的,底層主要有三個(gè)方法,hasnext()、tnext()、remove();

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ArrayList實(shí)現(xiàn)原理要點(diǎn)概括 參考文獻(xiàn):http://zhangshixi.iteye.com/blog/6...
    晨光光閱讀 1,181評論 0 1
  • 集合分為單例集合與雙列集合 雙列集合的5種遍歷方式 import java.util.*; public clas...
    一生所愛_d2ab閱讀 343評論 0 1
  • 原文地址 Java集合 Java集合框架:是一種工具類,就像是一個(gè)容器可以存儲任意數(shù)量的具有共同屬性的對象。 Ja...
    gyl_coder閱讀 1,042評論 0 8
  • Java集合類可用于存儲數(shù)量不等的對象,并可以實(shí)現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊(duì)列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 2,100評論 0 13
  • 集合類框架的介紹: ![Java 集合類框架](https://upload-images.jianshu.io/...
    LynnGuo閱讀 805評論 0 1

友情鏈接更多精彩內(nèi)容