日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java中的list、set、map区别

發(fā)布時(shí)間:2023/12/10 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中的list、set、map区别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

List 有序,可重復(fù)

ArrayList
優(yōu)點(diǎn): 底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢。
缺點(diǎn): 線程不安全,效率高
Vector
優(yōu)點(diǎn): 底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢。
缺點(diǎn): 線程安全,效率低
LinkedList
優(yōu)點(diǎn): 底層數(shù)據(jù)結(jié)構(gòu)是鏈表,查詢慢,增刪快。
缺點(diǎn): 線程不安全,效率高

Set 無序,唯一

HashSet
底層數(shù)據(jù)結(jié)構(gòu)是哈希表。(無序,唯一)
如何來保證元素唯一性?
1.依賴兩個(gè)方法:hashCode()和equals()

LinkedHashSet
底層數(shù)據(jù)結(jié)構(gòu)是鏈表和哈希表。(FIFO插入有序,唯一)
1.由鏈表保證元素有序
2.由哈希表保證元素唯一

TreeSet
底層數(shù)據(jù)結(jié)構(gòu)是紅黑樹。(唯一,有序)
1. 如何保證元素排序的呢?
自然排序
比較器排序
2.如何保證元素唯一性的呢?
根據(jù)比較的返回值是否是0來決定


Map接口有三個(gè)比較重要的實(shí)現(xiàn)類,分別是HashMap、TreeMap和HashTable。

TreeMap是有序的,HashMap和HashTable是無序的。
Hashtable是線程安全的效率較低 不允許null值,HashMap不是線程安全的效率較高允許null值(key和value都允許)。
?

List和set區(qū)別

(1)重復(fù)對(duì)象

list方法可以允許重復(fù)的對(duì)象,而set方法不允許重復(fù)對(duì)象

(2)null元素

list可以插入多個(gè)null元素,而set只允許插入一個(gè)null元素

(3)容器是否有序

list是一個(gè)有序的容器,保持了每個(gè)元素的插入順序。即輸出順序就是輸入順序,而set方法是無序容器,無法保證每個(gè)元素的存儲(chǔ)順序,TreeSet通過 Comparator 或者 Comparable 維護(hù)了一個(gè)排序順序

(4)常用的實(shí)現(xiàn)類

list方法常用的實(shí)現(xiàn)類有ArrayList、LinkedList 和 Vector。其中ArrayList 最為流行,它提供了使用索引的隨意訪問,而LinkedList 則對(duì)于經(jīng)常需要從 List 中添加或刪除元素的場(chǎng)合更為合適,Vector 表示底層數(shù)組,線程安全

Set方法中最流行的幾個(gè)實(shí)現(xiàn)類是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap實(shí)現(xiàn)的 HashSet;TreeSet 還實(shí)現(xiàn)了 SortedSet 接口,因此 TreeSet 是一個(gè)根據(jù)其 compare() 和compareTo() 的定義進(jìn)行排序的有序容器

List和Map的區(qū)別

List:是存儲(chǔ)單列數(shù)據(jù)的集合,存儲(chǔ)的數(shù)據(jù)是有序并且是可以重復(fù)的
Map:存儲(chǔ)雙列數(shù)據(jù)的集合,通過鍵值對(duì)存儲(chǔ)數(shù)據(jù),存儲(chǔ) 的數(shù)據(jù)是無序的,Key值不能重復(fù),value值可以重復(fù)

總結(jié)

以上是生活随笔為你收集整理的Java中的list、set、map区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。