溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java中l(wèi)ist和set有那些區(qū)別

發(fā)布時(shí)間:2020-09-09 10:05:06 來源:億速云 閱讀:185 作者:小新 欄目:編程語言

這篇文章主要介紹Java中l(wèi)ist和set有那些區(qū)別,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

  list與set方法的區(qū)別有:list可以允許重復(fù)對象和插入多個(gè)null值,而set不允許;list容器是有序的,而set容器是無序的等等

Java中的集合共包含三大類,它們分別是Set(集),List(列表)以及Map(映射)。它們都處在java.util中并且都為接口。它們各自都有各自的實(shí)現(xiàn)類。Set的實(shí)現(xiàn)類主要有HashSet和TreeSet,List的實(shí)現(xiàn)類主要有ArrayList。接下來將為大家介紹這兩大類之間的區(qū)別,具有一定的參考作用,希望對大家有所幫助。

Java中l(wèi)ist和set有那些區(qū)別

【推薦課程:Java教程

List方法與set方法的區(qū)別

(1)重復(fù)對象

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

(2)null元素

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

(3)容器是否有序

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

Java中l(wèi)ist和set有那些區(qū)別

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

list方法常用的實(shí)現(xiàn)類有ArrayList、LinkedList 和 Vector。其中ArrayList 最為流行,它提供了使用索引的隨意訪問,而LinkedList 則對于經(jīng)常需要從 List 中添加或刪除元素的場合更為合適,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)行排序的有序容器

Java中l(wèi)ist和set有那些區(qū)別

以上是Java中l(wèi)ist和set有那些區(qū)別的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI