全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)常見(jiàn)問(wèn)題正文

set有哪些實(shí)現(xiàn)類(lèi)?

更新時(shí)間:2023-03-31 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  在Java中,Set是一個(gè)接口,它定義了一組沒(méi)有重復(fù)元素的集合。它有多種實(shí)現(xiàn)類(lèi),其中最常見(jiàn)的是HashSet,TreeSet和LinkedHashSet。

1680226002580_Set有哪些實(shí)現(xiàn)類(lèi)?.jpg

  以下是代碼演示:

      1.HashSet

import java.util.HashSet;
import java.util.Set;

public class HashSetExample {
    public static void main(String[] args) {
        Set<String> set = new HashSet<String>();
        set.add("apple");
        set.add("banana");
        set.add("orange");
        set.add("apple"); // 重復(fù)元素,不會(huì)添加

        System.out.println(set); // 輸出 [orange, banana, apple]
    }
}

  2.TreeSet

import java.util.Set;
import java.util.TreeSet;

public class TreeSetExample {
    public static void main(String[] args) {
        Set<String> set = new TreeSet<String>();
        set.add("apple");
        set.add("banana");
        set.add("orange");
        set.add("apple"); // 重復(fù)元素,不會(huì)添加

        System.out.println(set); // 輸出 [apple, banana, orange]
    }
}

  3.LinkedHashSet

import java.util.LinkedHashSet;
import java.util.Set;

public class LinkedHashSetExample {
    public static void main(String[] args) {
        Set<String> set = new LinkedHashSet<String>();
        set.add("apple");
        set.add("banana");
        set.add("orange");
        set.add("apple"); // 重復(fù)元素,不會(huì)添加

        System.out.println(set); // 輸出 [apple, banana, orange]
    }
}

  需要注意的是,HashSet是最快的實(shí)現(xiàn)類(lèi),而TreeSet是唯一可以對(duì)元素進(jìn)行排序的實(shí)現(xiàn)類(lèi)。而LinkedHashSet則保留了元素添加的順序。

分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!