java接口類

1.Collection接口


2.ArrayList


alllist


3.LinkedList


LinkedList


4.set和排序


hastset




treeset


相同點:單例集合,數(shù)據(jù)不可重復(fù)

不同點1:底層使用的儲存數(shù)據(jù)結(jié)構(gòu)不同:

1,Hashset底層使用的是HashMap哈希表結(jié)構(gòu)儲存

2,而Treeset底層用的是TreeMap樹結(jié)構(gòu)儲存。

不同點2:儲存的數(shù)據(jù)保存唯一方式不用。

1,Hashset是通過復(fù)寫hashCode()方法和equals()方法來保證的。

2,而Treeset是通過Compareable接口的compareto方法來保證的。


不同點3:

hashset無序 ? Treeset有序


儲存原理:

hashset:底層數(shù)據(jù)結(jié)構(gòu)是哈希表,本質(zhì)就是哈希值儲存。通過判斷元素的hashcode方法和equals方法來保證元素的唯一性。當(dāng)哈希值不同時就直接進(jìn)行儲存。

如果相同,會判斷一次equals方式是否返回為true ,如果是true 則視為用的同一個元素,不用再儲存。如果是false,這俄格相同哈希值不同內(nèi)容的元素會放在同一個桶里(

當(dāng)哈希表中有一個桶結(jié)構(gòu),每一個捅都有一個哈希值)


Treeset:底層數(shù)據(jù)結(jié)構(gòu)式一個二叉樹,可以對set集合中的元素進(jìn)行排序,這種結(jié)構(gòu),可以提高排序性能。根據(jù)比較方法的返回值決定的,只要返回的是0,就代表元素重復(fù)



HashSet



TreeSet



SortedSet


5.iterator

iterator



listIterator



6.map接口

HashMap



HashMap的應(yīng)用



TreeMap


3.兩種常規(guī)Map性能

HashMap:適用于在Map中插入、刪除和定位元素。

Treemap:適用于按自然順序或自定義順序遍歷鍵(key)。

4.總結(jié)

HashMap通常比TreeMap快一點(樹和哈希表的數(shù)據(jù)結(jié)構(gòu)使然),建議多使用HashMap,在需要排序的Map時候才用TreeMap。


保存類注意點


map使用iterator必須實現(xiàn)Entry接口

map使用iterator注意點


7.Collections


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

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

  • 集合類框架的介紹: ![Java 集合類框架](https://upload-images.jianshu.io/...
    LynnGuo閱讀 801評論 0 1
  • 原文地址 Java集合 Java集合框架:是一種工具類,就像是一個容器可以存儲任意數(shù)量的具有共同屬性的對象。 Ja...
    gyl_coder閱讀 1,036評論 0 8
  • Java集合類可用于存儲數(shù)量不等的對象,并可以實現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 2,081評論 0 13
  • 最常見的應(yīng)該是在問HashMap與HashTable的區(qū)別,偶爾會談及后兩者的區(qū)別。今天我們先簡單區(qū)別一下這幾個泛...
    熠閑閱讀 706評論 0 0
  • 四、集合框架 1:String類:字符串(重點) (1)多個字符組成的一個序列,叫字符串。生活中很多數(shù)據(jù)的描述都采...
    佘大將軍閱讀 874評論 0 2

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