亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Java 菜鳥(niǎo)教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java Set 接口

在本教程中,我們將學(xué)習(xí)Java中的Set接口及其方法。

Java Collections框架的Set接口提供Java中數(shù)學(xué)集合的功能。 它繼承了Collection接口。

與List接口不同,Set集合不能包含重復(fù)的元素。

實(shí)現(xiàn)Set的類(lèi)

由于Set是接口,因此無(wú)法從中創(chuàng)建對(duì)象。

為了使用Set接口的功能,我們可以使用以下類(lèi):

這些類(lèi)在Collections框架中定義并實(shí)現(xiàn)Set接口。

接口SortedSet和NavigableSet擴(kuò)展了Set接口。

繼承Set的接口

該Set接口也擴(kuò)展這些子接口:

EnumSet,HashSet,LinkedHastSet和TreeSet類(lèi)實(shí)現(xiàn)Set接口。

如何使用Set?

在Java中,必須導(dǎo)入java.util.Set包才能使用Set。

//使用HashSet實(shí)現(xiàn)Set
Set<String> animals = new HashSet<>();

在這里,我們創(chuàng)建了一個(gè)Set稱(chēng)為animals。我們已經(jīng)使用HashSet該類(lèi)來(lái)實(shí)現(xiàn)Set接口。

Set的方法

Set接口包含Collection接口的所有方法。 這是因?yàn)镃ollection是Set的超級(jí)接口。

Set接口中還提供了Collection接口的一些常用方法:

  • add() - 將指定的元素添加到集合中

  • addAll() - 將指定集合的所有元素添加到集合中

  • iterator() -返回一個(gè)迭代器,該迭代器可用于順序訪問(wèn)集合中的元素

  • remove() - 從集合中移除指定的元素

  • removeAll() - 從存在于另一個(gè)指定集合中的集合中刪除所有元素

  • keepAll()  -保留集合中所有還存在于另一個(gè)指定集合中的所有元素

  • clear() - 從集合中刪除所有元素

  • size() - 返回集合的長(zhǎng)度(元素?cái)?shù))

  • toArray() - 返回包含集合中所有元素的數(shù)組

  • contains() -  如果集合包含指定的元素,則返回true

  • containsAll() - 如果集合包含指定集合的所有元素,則返回true

  • hashCode() -返回哈希碼值(集合中元素的地址)

Set集合運(yùn)算

Java Set接口允許我們執(zhí)行基本的數(shù)學(xué)集合運(yùn)算,例如并集,交集和子集。

  • Union - 為了得到兩個(gè)集合x(chóng)和y的并集,我們可以使用x.addAll(y)

  • Intersection - 要獲得兩個(gè)集合x(chóng)和y的交集,我們可以使用x.retainAll(y)

  • Subset - 要檢查x是否是y的子集,我們可以使用y.containsAll(x)

Set接口的實(shí)現(xiàn)

1.實(shí)現(xiàn)HashSet類(lèi)

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

class Main {

    public static void main(String[] args) {
        //使用HashSet類(lèi)創(chuàng)建集合
        Set<Integer> set1 = new HashSet<>();

        //將元素添加到set1
        set1.add(2);
        set1.add(3);
        System.out.println("Set1: " + set1);

        //使用HashSet類(lèi)創(chuàng)建另一個(gè)集合
        Set<Integer> set2 = new HashSet<>();

        //添加元素
        set2.add(1);
        set2.add(2);
        System.out.println("Set2: " + set2);

        //兩個(gè)集合的并集
        set2.addAll(set1);
        System.out.println("并集是: " + set2);
    }
}

輸出結(jié)果

Set1: [2, 3]
Set2: [1, 2]
并集是: [1, 2, 3]

要了解更多信息HashSet,請(qǐng)?jiān)L問(wèn)Java HashSet。

2.實(shí)現(xiàn)TreeSet類(lèi)

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

class Main {

    public static void main(String[] args) {
        //使用TreeSet類(lèi)創(chuàng)建集合
        Set<Integer> numbers = new TreeSet<>();

        // 將元素添加到set集合
        numbers.add(2);
        numbers.add(3);
        numbers.add(1);
        System.out.println("TreeSet: " + numbers);

        //使用iterator()訪問(wèn)元素
        System.out.print("使用iterator()訪問(wèn)元素: ");
        Iterator<Integer> iterate = numbers.iterator();
        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }

    }
}

輸出結(jié)果

TreeSet: [1, 2, 3]
使用iterator()訪問(wèn)元素: 1, 2, 3,

要了解更多信息TreeSet,請(qǐng)?jiān)L問(wèn)Java TreeSet。

現(xiàn)在我們知道Set是什么,在接下來(lái)的教程中,我們將在EnumSet,HashSet,LinkedHashSet和TreeSet等類(lèi)中看到其實(shí)現(xiàn)。