List 和 Set 在 Java 中的區別


List 和 Set 兩個介面都屬於 Collection 框架。這兩個介面都擴充套件了 Collection 介面。它們都用於將一組物件儲存為一個單位。

在 jdk1.2 之前,我們使用陣列、向量和雜湊表將物件分組為一個單位。

序號 List Set
1 位置訪問 List 提供對集合中元素的位置訪問。 Set 不提供對集合中元素的位置訪問。
2 實現方式 List 的實現方式包括 ArrayList、LinkedList、Vector 和 Stack。 Set 介面的實現方式為 HashSet 和 LinkedHashSet。
3 重複 我們可以在 list 中儲存重複元素。 我們不能在 Set 中儲存重複元素。
4 排序 List 保持集合中元素的插入順序。 Set 不保持任何順序。
5 Null 元素 List 可以儲存多個 null 元素。 Set 只能儲存一個 null 元素。

List 示例

import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
public class ListExample {
   public static void main(String[] args) {
      List<String> al = new ArrayList<String>();
      al.add("BMW");
      al.add("Audi");
      al.add("BMW");
      System.out.println("List Elements: ");
      System.out.print(al);
   }
}

輸出

List Elements: 
[BMW, Audi, BMW]

Set 示例

import java.util.Set;
import java.util.HashSet;
import java.util.TreeSet;
public class SetExample {
   public static void main(String args[]) {
      int count[] = {2, 4, 3, 5};
      Set<Integer> hset = new HashSet<Integer>();
      try{
         for(int i = 0; i<4; i++){
            hset.add(count[i]);
         }
         System.out.println(hset);
      }
      catch(Exception e){
         e.printStackTrace();
      }
   }
}

輸出

[2, 3, 4, 5]

更新於: 2023-12-05

2K+ 瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始
廣告