日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Java 集合框架超詳細(xì)!

來源: 責(zé)編: 時(shí)間:2023-10-10 18:32:12 325觀看
導(dǎo)讀簡介Java 提供了用于管理和操作數(shù)據(jù)的接口。這稱為 Java 集合框架 (JCF)。由于它根據(jù)要存儲和管理的數(shù)據(jù)的類型和特征提供各種形式和實(shí)現(xiàn),讓我們根據(jù)需要的情況應(yīng)用和使用它。JCFJCF是指一個(gè)數(shù)據(jù)集接口框架,它統(tǒng)稱為 Co

DWT28資訊網(wǎng)——每日最新資訊28at.com

簡介

Java 提供了用于管理和操作數(shù)據(jù)的接口。DWT28資訊網(wǎng)——每日最新資訊28at.com

這稱為 Java 集合框架 (JCF)。DWT28資訊網(wǎng)——每日最新資訊28at.com

由于它根據(jù)要存儲和管理的數(shù)據(jù)的類型和特征提供各種形式和實(shí)現(xiàn),DWT28資訊網(wǎng)——每日最新資訊28at.com

讓我們根據(jù)需要的情況應(yīng)用和使用它。DWT28資訊網(wǎng)——每日最新資訊28at.com

JCF

DWT28資訊網(wǎng)——每日最新資訊28at.com

JCF是指一個(gè)數(shù)據(jù)集接口框架,它統(tǒng)稱為 Collection 和 Map 接口。DWT28資訊網(wǎng)——每日最新資訊28at.com

一組數(shù)據(jù)被定義為 Collection ,它擴(kuò)展了 Iterable 接口。DWT28資訊網(wǎng)——每日最新資訊28at.com

Iterable 實(shí)現(xiàn)了一個(gè)接口結(jié)構(gòu),允許訪問屬于集合的元素。DWT28資訊網(wǎng)——每日最新資訊28at.com

this 的訪問被定義為通過 Iterator 訪問。DWT28資訊網(wǎng)——每日最新資訊28at.com

Collection 提供一維數(shù)據(jù)管理。DWT28資訊網(wǎng)——每日最新資訊28at.com

具有代表性的Collection實(shí)現(xiàn)接口如下:DWT28資訊網(wǎng)——每日最新資訊28at.com

List :保證順序,不保證唯一性(即可能出現(xiàn)重復(fù))。DWT28資訊網(wǎng)——每日最新資訊28at.com

Queue:實(shí)現(xiàn)了一個(gè)通用的隊(duì)列類型結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

Set :不保證順序,但保證唯一性(不重復(fù))。DWT28資訊網(wǎng)——每日最新資訊28at.com

Map: 具有二維(鍵值)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

List

一個(gè)索引的、有序的集合。DWT28資訊網(wǎng)——每日最新資訊28at.com

典型的實(shí)現(xiàn)類是:DWT28資訊網(wǎng)——每日最新資訊28at.com

  • ArrayList

每個(gè)數(shù)據(jù)都附有索引(順序),通過它可以快速訪問。DWT28資訊網(wǎng)——每日最新資訊28at.com

但是,在刪除或插入中間數(shù)據(jù)的情況下,整個(gè)數(shù)據(jù)結(jié)構(gòu)都會被修改。DWT28資訊網(wǎng)——每日最新資訊28at.com

因此,內(nèi)存效率低下。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • LinkedList

為每個(gè)數(shù)據(jù)生成一個(gè)點(diǎn),并使用該點(diǎn)組成每個(gè)數(shù)據(jù)。DWT28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)刪除或插入發(fā)生時(shí),內(nèi)存效率低下最小化,但搜索數(shù)據(jù)時(shí)時(shí)間很慢。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • Vector

線程安全得到保證,在訪問線程時(shí)通過加鎖來保證線程同步。DWT28資訊網(wǎng)——每日最新資訊28at.com

它用于保證在多線程環(huán)境中的穩(wěn)定值。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • Stack

這是一個(gè)典型隊(duì)列結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

Set

是一種不保證順序,保證唯一性的數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

也就是說,它是一個(gè)不重疊的無序數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

HashSet : 最純粹的集合數(shù)據(jù)結(jié)構(gòu),完全隨機(jī)排序。DWT28資訊網(wǎng)——每日最新資訊28at.com

通過覆蓋equals和hashCode,區(qū)分對象,從根本上防止重復(fù)存儲。DWT28資訊網(wǎng)——每日最新資訊28at.com

LinkedHashSet:這是一個(gè)Set數(shù)據(jù)結(jié)構(gòu),按照輸入順序存儲數(shù)據(jù)。DWT28資訊網(wǎng)——每日最新資訊28at.com

它繼承并實(shí)現(xiàn)了HashSet,按插入順序管理數(shù)據(jù)。DWT28資訊網(wǎng)——每日最新資訊28at.com

TreeSet:是一種內(nèi)部按升序排序的Set數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

添加和刪除數(shù)據(jù)需要時(shí)間,但搜索和排序非常好(當(dāng)然因?yàn)樗菢浣Y(jié)構(gòu)...)DWT28資訊網(wǎng)——每日最新資訊28at.com

Map

它是一種以鍵值格式以二維形式管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

導(dǎo)入數(shù)據(jù)時(shí),一種序列是鍵,它所在的列是值,所以你可以把它看成是一個(gè)即時(shí)的、動態(tài)的小型數(shù)據(jù)庫。DWT28資訊網(wǎng)——每日最新資訊28at.com

基本上不保證數(shù)據(jù)標(biāo)識符Key的順序。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • HashMap:是一種純Map數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)以完全隨機(jī)的順序存儲。
  • TreeMap:它是一種Map數(shù)據(jù)結(jié)構(gòu),其中的鍵在內(nèi)部進(jìn)行了排序。

插入刪除操作速度快,特點(diǎn)是自動排序。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • HashTable:線程安全的同步方法組合。

因此,它是一種用于在多線程環(huán)境下保證穩(wěn)定值的數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • LinkedHashMap:它是一種Map數(shù)據(jù)結(jié)構(gòu),按照輸入的順序存儲數(shù)據(jù)。

HashMap 是隨機(jī)輸出和有序結(jié)構(gòu),而 LinkedHashMap 保持插入順序。DWT28資訊網(wǎng)——每日最新資訊28at.com

Queue

它是一種數(shù)據(jù)結(jié)構(gòu),對應(yīng)于隊(duì)列數(shù)據(jù)結(jié)構(gòu)的一般概念。DWT28資訊網(wǎng)——每日最新資訊28at.com

從尾巴到超市結(jié)賬的方法(排隊(duì))DWT28資訊網(wǎng)——每日最新資訊28at.com

計(jì)算方式與頭部(出隊(duì))結(jié)構(gòu)相同。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • AbstractQueue:最純粹的隊(duì)列數(shù)據(jù)結(jié)構(gòu)。

它是第一個(gè)為優(yōu)先級隊(duì)列構(gòu)造的隊(duì)列對象,允許將其聲明和實(shí)現(xiàn)為原始隊(duì)列。DWT28資訊網(wǎng)——每日最新資訊28at.com

與一般通過中間數(shù)據(jù)結(jié)構(gòu)的其他數(shù)據(jù)結(jié)構(gòu)不同,它實(shí)現(xiàn)了 AbstractCollection 類,這是 Collection 接口的抽象類。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • LinkedList:這是一個(gè)使用鏈表實(shí)現(xiàn)的隊(duì)列數(shù)據(jù)結(jié)構(gòu)。

這是一個(gè)用于實(shí)現(xiàn)通用隊(duì)列的實(shí)現(xiàn)類。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • ArrayDeque:這是一個(gè)作為甲板數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的隊(duì)列數(shù)據(jù)結(jié)構(gòu)。

可以在前端(head)和尾部(tail)同時(shí)實(shí)現(xiàn)出隊(duì)(刪除)和入隊(duì)(插入)操作。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • PriorityQueue:這是一個(gè)優(yōu)先級隊(duì)列數(shù)據(jù)結(jié)構(gòu)。

通過為每個(gè)數(shù)據(jù)實(shí)現(xiàn)優(yōu)先級來排隊(duì)處理任務(wù)DWT28資訊網(wǎng)——每日最新資訊28at.com

  • BlockingQueue:這是為確保線程安全而實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)。

如果兩個(gè)線程同時(shí)訪問出隊(duì)任務(wù),就會出現(xiàn)異常。DWT28資訊網(wǎng)——每日最新資訊28at.com

為了解決這個(gè)問題,通過 Concurrent 包實(shí)現(xiàn)并提供了阻塞的概念。DWT28資訊網(wǎng)——每日最新資訊28at.com

它通過線程等待通用隊(duì)列的 put、offer、take、poll、peek 來工作。DWT28資訊網(wǎng)——每日最新資訊28at.com

換句話說,如果隊(duì)列在條目之間飽和或?yàn)榭眨蛘呷绻硪粋€(gè)線程正在訪問它,則線程等待并在它被釋放時(shí)執(zhí)行命令。DWT28資訊網(wǎng)——每日最新資訊28at.com

特別是,可以使用一種稱為 drainTo(Collection) 的方法,放入該集合的所有元素 (c)DWT28資訊網(wǎng)——每日最新資訊28at.com

可以使用下面兩種來實(shí)現(xiàn):DWT28資訊網(wǎng)——每日最新資訊28at.com

  • ArrayBlockingQueue
  • LinkedBlockingQueue

Deque(雙端隊(duì)列)

擴(kuò)展 Queue 接口的概念。DWT28資訊網(wǎng)——每日最新資訊28at.com

一個(gè)普通的隊(duì)列可以從Head取數(shù)據(jù)(dequeue),從tail放數(shù)據(jù)(enqueue)。DWT28資訊網(wǎng)——每日最新資訊28at.com

實(shí)現(xiàn)方式:DWT28資訊網(wǎng)——每日最新資訊28at.com

  • linkedList:基于 LinkedList 的索引數(shù)據(jù)結(jié)構(gòu)。

它是一種允許基本甲板構(gòu)造的實(shí)現(xiàn)。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • ArrayDeque:這是一種用于構(gòu)建索引的數(shù)據(jù)結(jié)構(gòu)。

此實(shí)現(xiàn)由 Array 支持,因此非常高效,因?yàn)樗鼤⒓匆苿佣鵁o需額外的內(nèi)存引用。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • LinkedBlockingDeque

提供允許單個(gè)線程一次只能訪問一個(gè)(阻塞)的功能。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • ConcurrentLinkedDeque:保證并行線程安全的索引結(jié)構(gòu)。

正如Concurrent這個(gè)詞所說的那樣,它是一種保證ThreadSafe的保證數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

由于是Linked數(shù)據(jù)結(jié)構(gòu),所以具有Linked的大部分優(yōu)點(diǎn)和缺點(diǎn)。DWT28資訊網(wǎng)——每日最新資訊28at.com

Stack

它是一種實(shí)現(xiàn)常用棧概念的數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

既然是繼承了遺留的Vector構(gòu)建的數(shù)據(jù)結(jié)構(gòu),那么Thread Safe自然是有保證的,DWT28資訊網(wǎng)——每日最新資訊28at.com

由于并發(fā)訪問線程固定為單一數(shù)據(jù)結(jié)構(gòu),不適合作為多線程環(huán)境下的數(shù)據(jù)結(jié)構(gòu)。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • Stack:這是一種常用的棧數(shù)據(jù)結(jié)構(gòu)。

堆中使用的概念被實(shí)現(xiàn)為方法。DWT28資訊網(wǎng)——每日最新資訊28at.com

Iterator(迭代器)

Iterator 是一個(gè)接口,它指定了一個(gè)可訪問由 Collection 擴(kuò)展的 Iterable 的接口。DWT28資訊網(wǎng)——每日最新資訊28at.com

該實(shí)現(xiàn)可以訪問 Collection 并檢索其元素。DWT28資訊網(wǎng)——每日最新資訊28at.com

Iterable(可迭代對象)

簡單來說,F(xiàn)or語句可以操作的數(shù)據(jù)結(jié)構(gòu)是Iterable數(shù)據(jù)結(jié)構(gòu)的一種實(shí)現(xiàn)。DWT28資訊網(wǎng)——每日最新資訊28at.com

換句話說,如果目標(biāo)數(shù)據(jù)可以通過迭代(for,while)訪問,它擴(kuò)展了Iterable。DWT28資訊網(wǎng)——每日最新資訊28at.com

  • 任何 Iterable 擴(kuò)展接口實(shí)現(xiàn)

當(dāng)然...擴(kuò)展 Iterable 的實(shí)現(xiàn)是 Iterable 的目標(biāo)。DWT28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

以上內(nèi)容是很基礎(chǔ)的集合知識,幫助我們平時(shí)開發(fā)的時(shí)候更正確的去使用集合結(jié)構(gòu)以及避免BUG困擾。這些知識需要牢記,值得反復(fù)查閱。DWT28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-12746-0.htmlJava 集合框架超詳細(xì)!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 面試中如何答好:CAS

下一篇: PixiJS 源碼解讀:繪制矩形的渲染過程講解

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 俄羅斯:將審查iPhone等外國公司設(shè)備 保數(shù)據(jù)安全

    iPhone和特斯拉都屬于在各自領(lǐng)域領(lǐng)頭羊的品牌,推出的產(chǎn)品也也都是數(shù)一數(shù)二的,但對于一些國家而言,它們的產(chǎn)品可靠性和安全性還是在限制范圍內(nèi)。近日,俄羅斯聯(lián)邦通信、信息技術(shù)
  • 6月iOS設(shè)備好評榜:第一蟬聯(lián)榜首近一年

    作為安兔兔各種榜單里變化最小的那個(gè),2023年6月的iOS好評榜和上個(gè)月相比沒有任何排名上的變化,僅僅是部分設(shè)備好評率的下降,長年累月的用戶評價(jià)和逐漸退出市場的老款機(jī)器讓這
  • 分布式系統(tǒng)中的CAP理論,面試必問,你理解了嘛?

    對于剛剛接觸分布式系統(tǒng)的小伙伴們來說,一提起分布式系統(tǒng),就感覺高大上,深不可測。而且看了很多書和視頻還是一臉懵逼。這篇文章主要使用大白話的方式,帶你理解一下分布式系統(tǒng)
  • 企業(yè)采用CRM系統(tǒng)的11個(gè)好處

    客戶關(guān)系管理(CRM)軟件可以為企業(yè)提供很多的好處,從客戶保留到提高生產(chǎn)力。  CRM軟件用于企業(yè)收集客戶互動,以改善客戶體驗(yàn)和滿意度。  CRM軟件市場規(guī)模如今超過580
  • 在線圖片編輯器,支持PSD解析、AI摳圖等

    自從我上次分享一個(gè)人開發(fā)仿造稿定設(shè)計(jì)的圖片編輯器到現(xiàn)在,不知不覺已過去一年時(shí)間了,期間我經(jīng)歷了裁員失業(yè)、面試找工作碰壁,寒冬下一直沒有很好地履行計(jì)劃.....這些就放在日
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時(shí)候了!學(xué)弟,最近學(xué)習(xí)的怎么樣啊 了不起學(xué)弟:最近學(xué)習(xí)的還不錯(cuò),每天都在學(xué)習(xí),每天都在進(jìn)步! 了不起:那你最近學(xué)習(xí)的什么呢? 了不起學(xué)弟:最近在學(xué)習(xí)C
  • 小紅書1周漲粉49W+,我總結(jié)了小白可以用的N條漲粉筆記

    作者:黃河懂運(yùn)營一條性教育視頻,被54萬人“珍藏”是什么體驗(yàn)?最近,情感博主@公主是用鮮花做的,火了!僅僅憑借一條視頻,光小紅書就有超過128萬人,為她瘋狂點(diǎn)贊!更瘋狂的是,這
  • 榮耀Magicbook V 14 2021曙光藍(lán)版本正式開售,擁有觸摸屏

    榮耀 Magicbook V 14 2021 曙光藍(lán)版本正式開售,搭載 i7-11390H 處理器與 MX450 顯卡,配備 16GB 內(nèi)存與 512GB SSD,重 1.48kg,厚 14.5mm,具有 1.5mm 鍵盤鍵程、
  • 與兆芯合作 聯(lián)想推出全新旗艦版筆記本電腦開天N7系列

    聯(lián)想與兆芯合作推出全新聯(lián)想旗艦版筆記本電腦開天 N7系列。這個(gè)系列采用兆芯KX-6640MA處理器平臺,KX-6640MA 處理器是采用了陸家嘴架構(gòu),16nm 工藝,4 核 4 線
Top 主站蜘蛛池模板: 扎鲁特旗| 武平县| 东兰县| 丁青县| 章丘市| 原阳县| 高碑店市| 信丰县| 中西区| 始兴县| 铜山县| 三江| 辉县市| 汕尾市| 志丹县| 深泽县| 曲沃县| 磐安县| 兴业县| 沅陵县| 临桂县| 三穗县| 河池市| 太湖县| 罗源县| 黄浦区| 炉霍县| 桂平市| 辛集市| 和硕县| 兴仁县| 镇江市| 北辰区| 桂林市| 宣武区| 浙江省| 金乡县| 衡水市| 开封县| 安康市| 新宾|