English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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.
A interface Set também estende esses subinterfaces:
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.
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)
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)
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.