Java Set Interface

Neste tutorial, aprenderemos sobre a interface Set em Java e seus métodos.

A Setinterface do Collectionsframework Java fornece os recursos do conjunto matemático em Java. Ele estende a Collectioninterface.

Ao contrário da Listinterface, os conjuntos não podem conter elementos duplicados.

Classes que implementam Set

Por Setser uma interface, não podemos criar objetos a partir dela.

Para usar as funcionalidades da Setinterface, podemos usar as seguintes classes:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • TreeSet

Essas classes são definidas na Collectionsestrutura e implementam a Setinterface.

Interfaces que estendem Set

A Setinterface também é estendida por estas subinterfaces:

  • SortedSet
  • NavigableSet

Como usar o Set?

Em Java, devemos importar o java.util.Setpacote para poder usar Set.

 // Set implementation using HashSet Set animals = new HashSet(); 

Aqui, criamos um Setanimal chamado. Usamos a HashSetclasse para implementar a Setinterface.

Métodos de Conjunto

A Setinterface inclui todos os métodos da Collectioninterface. É porque Collectioné uma super interface de Set.

Alguns dos métodos comumente usados ​​da Collectioninterface que também estão disponíveis na Setinterface são:

  • add () - adiciona o elemento especificado ao conjunto
  • addAll () - adiciona todos os elementos da coleção especificada ao conjunto
  • iterator () - retorna um iterador que pode ser usado para acessar os elementos do conjunto sequencialmente
  • remove () - remove o elemento especificado do conjunto
  • removeAll () - remove todos os elementos do conjunto que estão presentes em outro conjunto especificado
  • retémAll () - retém todos os elementos do conjunto que também estão presentes em outro conjunto especificado
  • clear () - remove todos os elementos do conjunto
  • size () - retorna o comprimento (número de elementos) do conjunto
  • toArray () - retorna uma matriz contendo todos os elementos do conjunto
  • contém () - retorna truese o conjunto contém o elemento especificado
  • containsAll () - retorna truese o conjunto contém todos os elementos da coleção especificada
  • hashCode () - retorna um valor de código hash (endereço do elemento no conjunto)

Para saber mais sobre os métodos da Setinterface, visite Java Set (documentação oficial do Java).

Operações de conjunto

A Setinterface Java nos permite realizar operações matemáticas básicas de conjunto, como união, interseção e subconjunto.

  • União - para obter a união de dois conjuntos xey, podemos usarx.addAll(y)
  • Interseção - para obter a interseção de dois conjuntos x e y, podemos usarx.retainAll(y)
  • Subconjunto - para verificar se x é um subconjunto de y, podemos usary.containsAll(x)

Implementação da Interface do Conjunto

1. Implementando a classe HashSet

 import java.util.Set; import java.util.HashSet; class Main ( public static void main(String() args) ( // Creating a set using the HashSet class Set set1 = new HashSet(); // Add elements to the set1 set1.add(2); set1.add(3); System.out.println("Set1: " + set1); // Creating another set using the HashSet class Set set2 = new HashSet(); // Add elements set2.add(1); set2.add(2); System.out.println("Set2: " + set2); // Union of two sets set2.addAll(set1); System.out.println("Union is: " + set2); ) ) 

Resultado

 Conjunto1: (2, 3) Conjunto2: (1, 2) União é: (1, 2, 3) 

Para saber mais sobre HashSet, visite Java HashSet.

2. Implementando a classe TreeSet

 import java.util.Set; import java.util.TreeSet; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating a set using the TreeSet class Set numbers = new TreeSet(); // Add elements to the set numbers.add(2); numbers.add(3); numbers.add(1); System.out.println("Set using TreeSet: " + numbers); // Access Elements using iterator() System.out.print("Accessing elements using iterator(): "); Iterator iterate = numbers.iterator(); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) ) 

Resultado

 Definir usando TreeSet: (1, 2, 3) Acessando elementos usando iterador (): 1, 2, 3, 

Para saber mais sobre TreeSet, visite Java TreeSet.

Agora que sabemos o que Seté, vamos ver suas implementações em classes como EnumSet, HashSet, LinkedHashSete TreeSetnos próximos tutoriais.

Artigos interessantes...