国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí)

這篇具有很好參考價值的文章主要介紹了Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí),java,數(shù)據(jù)結(jié)構(gòu),學(xué)習(xí)

Set和List的區(qū)別

  1. Set 接口實例存儲的是無序的,不重復(fù)的數(shù)據(jù)。List 接口實例存儲的是有序的,可以重復(fù)的元素。

  2. Set 檢索效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變 <實現(xiàn)類有HashSet,TreeSet>。

  3. List 和數(shù)組類似,可以動態(tài)增長,根據(jù)實際存儲的數(shù)據(jù)的長度自動增長 List 的長度。查找元素效率高,插入刪除效率低,因為會引起其他元素位置改變 <實現(xiàn)類有ArrayList,LinkedList,Vector> 。

集合實現(xiàn)

1.ArrayList

該類也是實現(xiàn)了List的接口,實現(xiàn)了可變大小的數(shù)組,隨機訪問和遍歷元素時,提供更好的性能。該類也是非同步的,在多線程的情況下不要使用。ArrayList 增長當(dāng)前長度的50%,插入刪除效率低。

2.HashSet

該類實現(xiàn)了Set接口,不允許出現(xiàn)重復(fù)元素,不保證集合中元素的順序,允許包含值為null的元素,但最多只能一個。

3.HashMap

HashMap 是一個散列表,它存儲的內(nèi)容是鍵值對(key-value)映射。
該類實現(xiàn)了Map接口,根據(jù)鍵的HashCode值存儲數(shù)據(jù),具有很快的訪問速度,最多允許一條記錄的鍵為null,不支持線程同步。

常用的java.util包中的定義類

1、Vector

該類和ArrayList非常相似,但是該類是同步的,可以用在多線程的情況,該類允許設(shè)置默認的增長長度,默認擴容方式為原來的2倍。

2、Stack

棧是Vector的一個子類,它實現(xiàn)了一個標(biāo)準的后進先出的棧。

3、Dictionary

Dictionary 類是一個抽象類,用來存儲鍵/值對,作用和Map類相似。

4、Hashtable

Hashtable 是 Dictionary(字典) 類的子類,位于 java.util 包中。

5、Properties

Properties 繼承于 Hashtable,表示一個持久的屬性集,屬性列表中每個鍵及其對應(yīng)值都是一個字符串。

6、BitSet

一個Bitset類創(chuàng)建一種特殊類型的數(shù)組來保存位值。BitSet中數(shù)組大小會隨需要增加。

ArrayList

ArrayList 類是一個可以動態(tài)修改的數(shù)組,與普通數(shù)組的區(qū)別就是它是沒有固定大小的限制,我們可以添加或刪除元素。
ArrayList 繼承了 AbstractList ,并實現(xiàn)了 List 接口。
ArrayList使用樣例

LinkedList

鏈表(Linked list)是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),是一種線性表,但是并不會按線性的順序存儲數(shù)據(jù),而是在每一個節(jié)點里存到下一個節(jié)點的地址。

鏈表可分為單向鏈表和雙向鏈表。

一個單向鏈表包含兩個值: 當(dāng)前節(jié)點的值和一個指向下一個節(jié)點的鏈接。
LinkedList的用法示例
Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí),java,數(shù)據(jù)結(jié)構(gòu),學(xué)習(xí)
一個雙向鏈表有三個整數(shù)值: 數(shù)值、向后的節(jié)點鏈接、向前的節(jié)點鏈接。
Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí),java,數(shù)據(jù)結(jié)構(gòu),學(xué)習(xí)
Java LinkedList(鏈表) 類似于 ArrayList,是一種常用的數(shù)據(jù)容器。
與 ArrayList 相比,LinkedList 的增加和刪除的操作效率更高,而查找和修改的操作效率較低。

以下情況使用 ArrayList :
  • 頻繁訪問列表中的某一個元素。
  • 只需要在列表末尾進行添加和刪除元素操作。
以下情況使用 LinkedList :

你需要通過循環(huán)迭代來訪問列表中的某些元素。
需要頻繁的在列表開頭、中間、末尾等位置進行添加和刪除元素操作。

  • LinkedList 繼承了 AbstractSequentialList 類。

  • LinkedList 實現(xiàn)了 Queue 接口,可作為隊列使用。

  • LinkedList 實現(xiàn)了 List 接口,可進行列表的相關(guān)操作。

  • LinkedList 實現(xiàn)了 Deque 接口,可作為隊列使用。

  • LinkedList 實現(xiàn)了 Cloneable 接口,可實現(xiàn)克隆。

  • LinkedList 實現(xiàn)了 java.io.Serializable 接口,即可支持序列化,能通過序列化去傳輸。

Java HashSet

HashSet 基于 HashMap 來實現(xiàn)的,是一個不允許有重復(fù)元素的集合。

HashSet 允許有 null 值。

HashSet 是無序的,即不會記錄插入的順序。

HashSet 不是線程安全的, 如果多個線程嘗試同時修改 HashSet,則最終結(jié)果是不確定的。 您必須在多線程訪問時顯式同步對 HashSet 的并發(fā)訪問。

HashSet 實現(xiàn)了 Set 接口。
Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí),java,數(shù)據(jù)結(jié)構(gòu),學(xué)習(xí)
Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí),java,數(shù)據(jù)結(jié)構(gòu),學(xué)習(xí)
HashSet示例展示

Java HashMap

HashMap 是一個散列表,它存儲的內(nèi)容是鍵值對(key-value)映射。

HashMap 實現(xiàn)了 Map 接口,根據(jù)鍵的 HashCode 值存儲數(shù)據(jù),具有很快的訪問速度,最多允許一條記錄的鍵為 null,不支持線程同步。

HashMap 是無序的,即不會記錄插入的順序。

HashMap 繼承于AbstractMap,實現(xiàn)了 Map、Cloneable、java.io.Serializable 接口。
Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí),java,數(shù)據(jù)結(jié)構(gòu),學(xué)習(xí)
HashMap的示例文章來源地址http://www.zghlxwxcb.cn/news/detail-696525.html

到了這里,關(guān)于Java 數(shù)據(jù)結(jié)構(gòu)使用學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Java實戰(zhàn)項目】基于ssm的數(shù)據(jù)結(jié)構(gòu)課程網(wǎng)絡(luò)學(xué)習(xí)平臺

    【Java實戰(zhàn)項目】基于ssm的數(shù)據(jù)結(jié)構(gòu)課程網(wǎng)絡(luò)學(xué)習(xí)平臺

    ??作者簡介:多年一線開發(fā)工作經(jīng)驗,分享技術(shù)代碼幫助學(xué)生學(xué)習(xí),獨立完成自己的項目或者畢業(yè)設(shè)計。 代碼可以私聊博主獲取。?? 贈送計算機畢業(yè)設(shè)計600個選題excel文件,幫助大學(xué)選題。 贈送開題報告模板,幫助書寫開題報告。 作者完整代碼目錄供你選擇: 《Springboo

    2024年01月18日
    瀏覽(22)
  • [java數(shù)據(jù)結(jié)構(gòu)] ArrayList和LinkedList介紹與使用

    [java數(shù)據(jù)結(jié)構(gòu)] ArrayList和LinkedList介紹與使用

    (一) 線性表 (二) ArrayList 1. ArrayList的介紹 2. ArrayList的常見方法和使用 3. ArrayList的遍歷 4. ArrayList的模擬實現(xiàn) 5. ArrayList的優(yōu)缺點 (三)?LinkedList 1. LinkedList的介紹 2. LinkedList的常見方法和使用 3. LinkedList的遍歷 4. LinkedList的模擬實現(xiàn) 5. LinkedList的優(yōu)缺點 (四) ArrayList和LinkedList的區(qū)別

    2024年01月21日
    瀏覽(17)
  • Java 學(xué)習(xí)路線:基礎(chǔ)知識、數(shù)據(jù)類型、條件語句、函數(shù)、循環(huán)、異常處理、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο缶幊?、包、文件?API

    Java 是一種由 Sun Microsystems 于 1995 年首次發(fā)布的編程語言和計算平臺。Java 是一種通用的、基于類的、面向?qū)ο蟮木幊陶Z言,旨在減少實現(xiàn)依賴性。它是一個應(yīng)用程序開發(fā)的計算平臺。Java 快速、安全、可靠,因此在筆記本電腦、數(shù)據(jù)中心、游戲機、科學(xué)超級計算機、手機等領(lǐng)

    2024年03月24日
    瀏覽(39)
  • Java學(xué)數(shù)據(jù)結(jié)構(gòu)(3)——樹Tree & B樹 & 紅黑樹 & Java標(biāo)準庫中的集合Set與映射Map & 使用多個映射Map的案例

    Java學(xué)數(shù)據(jù)結(jié)構(gòu)(3)——樹Tree & B樹 & 紅黑樹 & Java標(biāo)準庫中的集合Set與映射Map & 使用多個映射Map的案例

    1.B樹,階M,數(shù)據(jù)樹葉上,根的兒子數(shù)在2和M之間,除根外,非樹葉節(jié)點兒子為M/2和M之間; 2.B樹的插入引起分裂,B樹的刪除,引起合并和領(lǐng)養(yǎng); 3.紅黑樹,根是黑的,紅色節(jié)點的兒子必須是黑的,所有路徑的黑色節(jié)點數(shù)相同; 4.紅黑樹的插入,顏色翻轉(zhuǎn),單旋轉(zhuǎn),插入節(jié)點定

    2024年02月11日
    瀏覽(31)
  • Java 數(shù)據(jù)結(jié)構(gòu)集合

    Java 數(shù)據(jù)結(jié)構(gòu)集合

    詳細請轉(zhuǎn)到@pdai的博客 1.1 數(shù)組 (Array) 數(shù)組的優(yōu)點: 存取速度快 數(shù)組的缺點: 事先必須知道數(shù)組的長度 插入刪除元素很慢 空間通常是有限制的 需要大塊連續(xù)的內(nèi)存塊 插入刪除元素的效率很低 源碼分析: 1、底層數(shù)據(jù)結(jié)構(gòu)是Object 2、構(gòu)造函數(shù)包括無參構(gòu)造和有參數(shù)構(gòu)造,有參構(gòu)

    2024年01月24日
    瀏覽(20)
  • 數(shù)據(jù)結(jié)構(gòu)---數(shù)組(java)

    1 、數(shù)組基礎(chǔ) 1 用來存儲一組類型相同的數(shù)據(jù) 2 在內(nèi)存中,分配連續(xù)的空間,數(shù)組創(chuàng)建時要指定容量(大?。?3 數(shù)據(jù)類型[] 數(shù)組名 int[] arr = new int[10] int[] arr2 = {1,2,3,4} 4 索引---訪問數(shù)組時通過索引進行操作 5 索引從0開始,最大為 arr.length -1 6 常見的錯誤: NullPointException ArrayI

    2024年01月23日
    瀏覽(20)
  • 數(shù)據(jù)結(jié)構(gòu)——鏈表(java)

    數(shù)據(jù)結(jié)構(gòu)——鏈表(java)

    1.1 定義 鏈表是一種物理存儲結(jié)構(gòu)上非連續(xù)存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的引用鏈接次序?qū)崿F(xiàn)的。 如圖所示: 1.2 鏈表分類 單向、雙向;帶頭、不帶頭;循環(huán)、非循環(huán) 重點 :單向不帶頭非循環(huán)、雙向不帶頭非循環(huán)(集合類底層) 如圖:單項帶頭非循環(huán)鏈表結(jié)

    2024年02月09日
    瀏覽(17)
  • Java基礎(chǔ)--數(shù)據(jù)結(jié)構(gòu)

    Java基礎(chǔ)--數(shù)據(jù)結(jié)構(gòu)

    Java工具包提供了強大的數(shù)據(jù)結(jié)構(gòu)。在Java中的數(shù)據(jù)結(jié)構(gòu)主要包括以下幾種接口和類: 枚舉(Enumeration)、位集合(BitSet)、向量(Vector)、棧(Stack)、字典(Dictionary)、哈希表(Hashtable)、屬性(Properties) 以上這些類是傳統(tǒng)遺留的,在Java2中引入了一種新的框架-集合框架

    2023年04月14日
    瀏覽(30)
  • Java 數(shù)據(jù)結(jié)構(gòu)

    Java 數(shù)據(jù)結(jié)構(gòu) Java 提供了豐富的數(shù)據(jù)結(jié)構(gòu)來處理和組織數(shù)據(jù)。 Java 的 java.util 包中提供了許多這些數(shù)據(jù)結(jié)構(gòu)的實現(xiàn),可以根據(jù)需要選擇合適的類。 以下是一些常見的 Java 數(shù)據(jù)結(jié)構(gòu): 數(shù)組(Arrays) 數(shù)組(Arrays)是一種基本的數(shù)據(jù)結(jié)構(gòu),可以存儲固定大小的相同類型的元素。 i

    2024年02月22日
    瀏覽(13)
  • Java數(shù)據(jù)結(jié)構(gòu)

    Java數(shù)據(jù)結(jié)構(gòu)

    java數(shù)據(jù)結(jié)構(gòu)有: 1、數(shù)組? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、列表? (List) 3、集合(Set)???????????????????4、棧 (Stack)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 5、隊列? (Queue)? ? ? ? ? ? ? ? 6、樹 (Tree)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7、堆 (Heap)? ? ? ?

    2024年02月08日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包