當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java List和Set的區別用法及代碼示例


List interface 允許存儲有序集合。它是Collection的子接口。它是一個有序的對象集合,其中允許存儲重複值。列表保留插入順序,它允許位置訪問和插入元素。

聲明:

public abstract interface List extends Collection

java.util 包中的 set interface 和擴展 Collection interface 是一個無序對象集合,其中不能存儲重複值。它是一個實現數學集的接口。該接口包含繼承自Collection接口的方法,並添加了限製插入重複元素的函數。

聲明:Set 接口聲明為:

public interface Set extends Collection

例子:

Input :  Add Elements = [1, 2, 3, 1]
Output:  Set = [1, 2, 3]
     List = [1, 2, 3, 1]

Input :  Add Elements = [a, b, d, b]
Output:  Set = [a, b, d]
     List = [a, b, d, b]

下麵是Set和List的示意圖:

Java


// Implementation of List and Set in Java
import java.io.*;
import java.util.*;
class GFG {
    public static void main(String[] args)
    {
        // List declaration
        List<Integer> l = new ArrayList<>();
        l.add(5);
        l.add(6);
        l.add(3);
        l.add(5);
        l.add(4);
        // Set declaration
        Set<Integer> s = new HashSet<>();
        s.add(5);
        s.add(6);
        s.add(3);
        s.add(5);
        s.add(4);
        // printing list
        System.out.println("List = " + l);
        // printing Set
        System.out.println("Set = " + s);
    }
}
輸出
List = [5, 6, 3, 5, 4]
Set = [3, 4, 5, 6]

列表和集合的區別:

List
1. List 是一個索引序列。 1. Set是一個無索引的序列。
2.List允許重複元素 2. Set不允許有重複的元素。
3. 可以按位置訪問元素。 3. 不允許對元素進行位置訪問。
4. 可以存儲多個null元素。 4. 空元素隻能存儲一次。
5.列表的實現有ArrayList、LinkedList、Vector、Stack 5. Set的實現有HashSet、LinkedHashSet。


相關用法


注:本文由純淨天空篩選整理自tejswini2000k大神的英文原創作品 Difference Between List and Set in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。