English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

教程基础Java

Java Flow Control

Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

Gestione delle eccezioni Java

Java List

Java Queue (Queue)

Java Map Collection

Java Set Collection

Java Input Output (I/O)

Java Reader/Writer

Altri argomenti Java

Java Set interfaccia

In questo tutorial, impareremo l'interfaccia Set e i suoi metodi in Java.

L'interfaccia Set del framework Java Collections fornisce le funzionalità di insieme matematico in Java. Eredita l'interfaccia Collection.

Diversamente dall'interfaccia List, il set non può contenere elementi ripetuti.

Classi che implementano Set

Poiché Set è un'interfaccia, non è possibile creare oggetti da essa.

Per utilizzare le funzionalità dell'interfaccia Set, possiamo utilizzare le seguenti classi:

Queste classi sono definite e implementate nel framework Collections e implementano l'interfaccia Set.

Interfaccia derivata da Set

L'interfaccia Set espande anche questi sotto-interfaccia:

Come utilizzare Set?

In Java, è necessario importare il pacchetto java.util.Set per utilizzare Set.

// Implementazione di HashSet per Set
Set<String> animals = new HashSet<>();

In questo esempio, abbiamo creato un set chiamato animals. Abbiamo utilizzato HashSet per implementare l'interfaccia Set.

Metodi del set

L'interfaccia Set contiene tutti i metodi dell'interfaccia Collection. Questo perché Collection è l'interfaccia superiore di Set.

L'interfaccia Set fornisce anche alcuni metodi comuni dell'interfaccia Collection:

  • add() - Aggiunge l'elemento specificato al set

  • addAll() - Aggiunge tutti gli elementi dello set specificato al set

  • iterator() - Restituisce un iteratore che può essere utilizzato per accedere in ordine agli elementi del set

  • remove() - Rimuove l'elemento specificato dal set

  • removeAll() - Rimuove tutti gli elementi del set che esistono nello set specificato

  • keepAll()  - Mantiene tutti gli elementi del set che esistono ancora nello set specificato

  • clear() - Rimuove tutti gli elementi dal set

  • size() - Restituisce la lunghezza del set (numero di elementi)

  • toArray() - Restituisce un array che contiene tutti gli elementi del set

  • contains() - Restituisce true se il set contiene l'elemento specificato

  • containsAll() - Restituisce true se il set contiene tutti gli elementi dello set specificato

  • hashCode() - Restituisce il valore dell'hash (l'indirizzo degli elementi del set)

Operazioni di calcolo del set

L'interfaccia Set di Java ci permette di eseguire operazioni di calcolo di insieme di base, come l'intersezione, l'unione e il sottoinsieme.

  • Unione - Per ottenere l'unione tra gli insiemi x e y, possiamo usare x.addAll(y)

  • Intersezione - Per ottenere l'intersezione tra gli insiemi x e y, possiamo usare x.retainAll(y)

  • Sottoinsieme - Per verificare se x è un sottoinsieme di y, possiamo usare y.containsAll(x)

Implementazione dell'interfaccia Set

1. Implementare la classe HashSet

import java.util.Set;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        //Creare la集合 utilizzando la classe HashSet
        Set<Integer> set1 = new HashSet<>();
        //Aggiungere elementi a set1
        set1.add(2);
        set1.add(3);
        System.out.println("Set1: \n" + set1);
        //Creare un altro insieme utilizzando la classe HashSet
        Set<Integer> set2 = new HashSet<>();
        //Aggiungere elementi
        set2.add(1);
        set2.add(2);
        System.out.println("Set2: \n" + set2);
        //Unione di due insiemi
        set2.addAll(set1);
        System.out.println("L'intersezione è: \n" + set2);
    }
}

Risultato di output

Set1: [2, 3]
Set2: [1, 2]
L'unione è: [1, 2, 3]

Per ulteriori informazioni su HashSet, visitareJava HashSet.

2. Implementare la classe TreeSet

import java.util.Set;
import java.util.TreeSet;
import java.util.Iterator;
class Main {
    public static void main(String[] args) {
        //Creare la集合 utilizzando la classe TreeSet
        Set<Integer> numbers = new TreeSet<>();
        //Aggiungere elementi alla集合 set
        numbers.add(2);
        numbers.add(3);
        numbers.add(1);
        System.out.println("TreeSet: \n" + numbers);
        //Utilizzare iterator() per accedere agli elementi
        System.out.print("Utilizzare iterator() per accedere agli elementi: \n");
        Iterator<Integer> iterate = numbers.iterator();
        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

Risultato di output

TreeSet: [1, 2, 3]
Accedi agli elementi tramite iterator(): 1, 2, 3,

Per ulteriori informazioni su TreeSet, visitareJava TreeSet.

Ora sappiamo cosa è Set, nel prossimo tutorial vedremo la sua implementazione nelle classi EnumSet, HashSet, LinkedHashSet e TreeSet.