重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
這篇文章主要介紹Java中l(wèi)ist和set有那些區(qū)別,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)于2013年開(kāi)始,先為札達(dá)等服務(wù)建站,札達(dá)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為札達(dá)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
list與set方法的區(qū)別有:list可以允許重復(fù)對(duì)象和插入多個(gè)null值,而set不允許;list容器是有序的,而set容器是無(wú)序的等等
Java中的集合共包含三大類(lèi),它們分別是Set(集),List(列表)以及Map(映射)。它們都處在java.util中并且都為接口。它們各自都有各自的實(shí)現(xiàn)類(lèi)。Set的實(shí)現(xiàn)類(lèi)主要有HashSet和TreeSet,List的實(shí)現(xiàn)類(lèi)主要有ArrayList。接下來(lái)將為大家介紹這兩大類(lèi)之間的區(qū)別,具有一定的參考作用,希望對(duì)大家有所幫助。
【推薦課程:Java教程】
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方法是無(wú)序容器,無(wú)法保證每個(gè)元素的存儲(chǔ)順序,TreeSet通過(guò) Comparator 或者 Comparable 維護(hù)了一個(gè)排序順序
(4)常用的實(shí)現(xiàn)類(lèi)
list方法常用的實(shí)現(xiàn)類(lèi)有ArrayList、LinkedList 和 Vector。其中ArrayList 最為流行,它提供了使用索引的隨意訪(fǎng)問(wèn),而LinkedList 則對(duì)于經(jīng)常需要從 List 中添加或刪除元素的場(chǎng)合更為合適,Vector 表示底層數(shù)組,線(xiàn)程安全
Set方法中最流行的幾個(gè)實(shí)現(xiàn)類(lèi)是 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ū)別的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!