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

Tutorial Básico de Java

Controle de fluxo do Java

Array do Java

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Tratamento de Exceções Java

Lista List do Java

Fila Queue do Java

Conjunto Map do Java

Conjunto Set do Java

Java Entrada e Saída (I)/O)

Reader do Java/Writer

Outros tópicos do Java

Java Interface Set

Neste tutorial, vamos aprender sobre a interface Set no Java e seus métodos.

A interface Set do framework Java Collections fornece funcionalidades de conjuntos matemáticos no Java. Ela herda a interface Collection.

Diferente da interface List, o conjunto Set não pode conter elementos repetidos.

Classes que implementam Set

Como o Set é uma interface, não é possível criar objetos a partir dela.

Para usar as funcionalidades do interface Set, podemos usar as seguintes classes:

Essas classes são definidas e implementadas no framework Collections e implementam a interface Set.

Interfaces herdadas do Set

A interface Set também estende esses subinterfaces:

Como usar Set?

No Java, é necessário importar o pacote java.util.Set para usar o Set.

//Implementação de Set com HashSet
Set<String> animals = new HashSet<>();

Aqui, criamos um Set chamado animals. Usamos a classe HashSet para implementar a interface Set.

Métodos do Set

A interface Set contém todos os métodos da interface Collection. Isso porque Collection é a superinterface do Set.

A interface Set também fornece alguns métodos comuns da interface Collection:

  • add() - Adicionar o elemento especificado ao conjunto

  • addAll() - Adicionar todos os elementos do conjunto especificado ao conjunto

  • iterator() -Retorna um iterador que pode ser usado para acessar os elementos do conjunto em ordem

  • remove() - Remover todos os elementos do conjunto

  • removeAll() - Remove todos os elementos que existem no outro conjunto especificado

  • keepAll()  -Manter todos os elementos que ainda existem no outro conjunto especificado

  • clear() - Remove todos os elementos do conjunto

  • size() - Retorna o comprimento do conjunto (número de elementos)

  • toArray() - Retorna um array contendo todos os elementos do conjunto

  • contains() -  Retorna true se o conjunto contiver o elemento especificado

  • containsAll() - Retorna true se o conjunto contiver todos os elementos do conjunto especificado

  • hashCode() -Retorna o valor do código hash (endereço dos elementos no conjunto)

Operações de conjunto Set

A interface Java Set nos permite executar operações matemáticas básicas de conjuntos, como união, interseção e subconjunto.

  • União - Para obter a união dos conjuntos x e y, podemos usar x.addAll(y)

  • Interseção - Para obter a interseção dos conjuntos x e y, podemos usar x.retainAll(y)

  • Subconjunto - Para verificar se x é um subconjunto de y, podemos usar y.containsAll(x)

Implementação da interface Set

1.implementar a interface Set

import java.util.Set;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        //Criar conjunto usando a classe HashSet
        Set<Integer> set1 = new HashSet<>();
        //Adicionar elementos ao set1
        set1.add(2);
        set1.add(3);
        System.out.println("Set1: " + set1);
        //Criar outro conjunto usando a classe HashSet
        Set<Integer> set2 = new HashSet<>();
        //Adicionar elemento
        set2.add(1);
        set2.add(2);
        System.out.println("Set2: " + set2);
        //A união de dois conjuntos
        set2.addAll(set1);
        System.out.println("A união é: " + set2);
    }
}

Resultados de Saída

Set1: [2, 3]
Set2: [1, 2]
A união é: [1, 2, 3]

Para obter mais informações sobre HashSet, acesseJava HashSet.

2.implementar a classe TreeSet

import java.util.Set;
import java.util.TreeSet;
import java.util.Iterator;
class Main {
    public static void main(String[] args) {
        //Criar conjunto usando a classe TreeSet
        Set<Integer> numbers = new TreeSet<>();
        // Adicionar elementos ao conjunto set
        numbers.add(2);
        numbers.add(3);
        numbers.add(1);
        System.out.println("TreeSet: " + numbers);
        //Acessar elementos usando iterator()
        System.out.print("Acessar elementos usando iterator(): ");
        Iterator<Integer> iterate = numbers.iterator();
        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

Resultados de Saída

TreeSet: [1, 2, 3]
Acessar elementos usando iterator(): 1, 2, 3,

Para obter mais informações sobre TreeSet, acesseJava TreeSet.

Agora que sabemos o que é Set, em seguida, no próximo tutorial, veremos sua implementação em classes como EnumSet, HashSet, LinkedHashSet e TreeSet.