Java中的集合共包含三大類,它們分別是Set(集),List(列表)以及Map(映射)。它們都處在java.util中並且都為介面。它們各自都有各自的實作類別。以下跟大家介紹set和list的差別,希望對大家有幫助。
java中set和list的區別
1、重複物件
list方法可以允許重複的對象,而set方法不允許重複對象
2、null元素
list可以插入多個null元素,而set只允許插入一個null元素
#3、容器是否有序
list是一個有序的容器,保持了每個元素的插入順序。即輸出順序就是輸入順序,而set方法是無序容器,無法保證每個元素的儲存順序,TreeSet透過Comparator 或Comparable 維護了一個排序順序
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中文網其他相關文章!