JAVA集合

一、集合的定義

集合類是Java數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)。Java的集合類是java.util包中的重要內(nèi)容,它允許以各種方式將元素分組,并定義了各種使這些元素更容易操作的方法。

Java集合類是Java將一些基本的和使用頻率極高的基礎(chǔ)類進(jìn)行封裝和增強(qiáng)后再以一個(gè)類的形式提供。集合類是可以往里面保存多個(gè)對(duì)象的類,存放的是對(duì)象,不同的集合類有不同的功能和特點(diǎn),適合不同的場(chǎng)合,用以解決一些實(shí)際問題。

二、集合的分類

Collection

是一個(gè)基本的集合接口,Collection中可以容納一組集合元素(Element)。

1、List

Arraylist: Object數(shù)組

Vector: Object數(shù)組

LinkedList: 雙向循環(huán)鏈表

2、Set

HashSet(無序,唯一):基于 HashMap 實(shí)現(xiàn)的,底層采用 HashMap 來保存元素

LinkedHashSet: LinkedHashSet 繼承與 HashSet,并且其內(nèi)部是通過 LinkedHashMap 來實(shí)現(xiàn)的。有點(diǎn)類似于我們之前說的LinkedHashMap 其內(nèi)部是基于 Hashmap 實(shí)現(xiàn)一樣,不過還是有一點(diǎn)點(diǎn)區(qū)別的。

TreeSet(有序,唯一): 紅黑樹(自平衡的排序二叉樹。)

Map

Map提供鍵(key)到值(value)的映射。一個(gè)Map中不能包含相同的鍵,每個(gè)鍵只能映射一個(gè)值。

HashMap: JDK1.8之前HashMap由數(shù)組+鏈表組成的,數(shù)組是HashMap的主體,鏈表則是主要為了解決哈希沖突而存在的(“拉鏈法”解決沖突).JDK1.8以后在解決哈希沖突時(shí)有了較大的變化,當(dāng)鏈表長度大于閾值(默認(rèn)為8)時(shí),將鏈表轉(zhuǎn)化為紅黑樹,以減少搜索時(shí)間

LinkedHashMap:LinkedHashMap 繼承自 HashMap,所以它的底層仍然是基于拉鏈?zhǔn)缴⒘薪Y(jié)構(gòu)即由數(shù)組和鏈表或紅黑樹組成。另外,LinkedHashMap 在上面結(jié)構(gòu)的基礎(chǔ)上,增加了一條雙向鏈表,使得上面的結(jié)構(gòu)可以保持鍵值對(duì)的插入順序。同時(shí)通過對(duì)鏈表進(jìn)行相應(yīng)的操作,實(shí)現(xiàn)了訪問順序相關(guān)邏輯。

HashTable: 數(shù)組+鏈表組成的,數(shù)組是 HashMap 的主體,鏈表則是主要為了解決哈希沖突而存在的

TreeMap: 紅黑樹(自平衡的排序二叉樹)

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

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

  • 集合框架 JCF(Java collections framework),也就是java集合框架 包括: 集合(C...
    jection閱讀 2,420評(píng)論 0 6
  • 一、集合基礎(chǔ) 1.01 集合的類繼承關(guān)系? java集合主要由Collection和Map兩大接口派生出來:Col...
    dafengyiba閱讀 404評(píng)論 0 0
  • Java集合框架,數(shù)據(jù)結(jié)構(gòu) 所有的集合類位于 jdk下的 rt.jar 包下java.util下; 1、所有集合類...
    kaixingdeshui閱讀 377評(píng)論 0 0
  • 1.什么是集合 集合框架:用于存儲(chǔ)數(shù)據(jù)的容器。 集合框架是為表示和操作集合而規(guī)定的一種統(tǒng)一的標(biāo)準(zhǔn)的體系結(jié)構(gòu)。 任何...
    zhangjian閱讀 414評(píng)論 0 0
  • 文章目錄集合容器概述什么是集合集合的特點(diǎn)集合和數(shù)組的區(qū)別使用集合框架的好處常用的集合類有哪些?List,Set,M...
    灬佐手邊閱讀 385評(píng)論 0 1

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