首頁  >  文章  >  Java  >  java中set和list的差別是什麼?

java中set和list的差別是什麼?

青灯夜游
青灯夜游原創
2019-12-26 17:19:182281瀏覽

Java中的集合共包含三大類,它們分別是Set(集),List(列表)以及Map(映射)。它們都處在java.util中並且都為介面。它們各自都有各自的實作類別。以下跟大家介紹set和list的差別,希望對大家有幫助。

java中set和list的差別是什麼?

java中set和list的區別

1、重複物件

list方法可以允許重複的對象,而set方法不允許重複對象

2、null元素

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

#3、容器是否有序

list是一個有序的容器,保持了每個元素的插入順序。即輸出順序就是輸入順序,而set方法是無序容器,無法保證每個元素的儲存順序,TreeSet透過Comparator 或Comparable 維護了一個排序順序

java中set和list的差別是什麼?

4 、常用的實作類別

list方法常用的實作類別有ArrayList、LinkedList 和Vector。其中ArrayList 最為流行,它提供了使用索引的隨意訪問,而LinkedList 則對於經常需要從List 中添加或刪除元素的場合更為合適,Vector 表示底層數組,線程安全

Set方法中最流行的幾個實作類別是HashSet、LinkedHashSet 以及TreeSet。最受歡迎的是基於HashMap實現的HashSet;TreeSet 也實作了SortedSet 接口,因此TreeSet 是一個根據其compare() 和compareTo() 的定義進行排序的有序容器

推薦學習: Java影片教學

以上是java中set和list的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn