Converter Array para Set

JavaBeginner
Pratique Agora

Introdução

Em Java, um Array (vetor) é uma estrutura de dados baseada em índice que armazena dados de tipos semelhantes, enquanto um Set (conjunto) é uma coleção de elementos únicos. O processo de converter um array em um set em Java é um caso de uso comum, especialmente quando elementos duplicados não são desejados. Neste laboratório, aprenderemos como converter um array em um set em Java usando vários métodos.

Criar um arquivo Java

Vamos criar um novo arquivo Java no diretório ~/project usando o seguinte comando:

touch ~/project/ArrayToSet.java

Importar as classes necessárias

Em nosso arquivo Java, precisaremos primeiro importar as classes necessárias para o nosso programa. Usaremos as classes HashSet, Collections, Arrays e Set. Adicione o seguinte código para importar essas classes:

import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

Criar um array

Vamos criar um array simples de strings com alguns elementos duplicados. Adicione o seguinte código:

String[] fruits = {"Apple", "Orange", "Banana", "Orange"};

Converter o array para um set usando addAll()

Nesta etapa, converteremos o array para um set usando o método addAll() da classe Collections. O método addAll() adiciona todos os elementos de um array à coleção especificada. Adicione o seguinte código ao método main():

Set<String> fruitsSet = new HashSet<>();
Collections.addAll(fruitsSet, fruits);
System.out.println(fruitsSet);

Converter o array para um set usando asList()

Nesta etapa, converteremos o array para um set usando o método asList() da classe Arrays. O método asList() retorna uma lista do array, que pode ser convertida para um set usando o construtor Set. Adicione o seguinte código ao método main():

Set<String> fruitsSet = new HashSet<>(Arrays.asList(fruits));
System.out.println(fruitsSet);

Converter array para set usando Java 8 Streams

Nesta etapa, converteremos o array para um set usando o método toSet() da classe Collectors do Java 8 Streams. O método toSet() coleta os elementos de um stream em uma instância Set. Adicione o seguinte código ao método main():

Set<String> fruitsSet = Arrays.stream(fruits)
                        .collect(Collectors.toSet());
System.out.println(fruitsSet);

Compilar e executar o código

Podemos compilar e executar nosso programa Java usando o seguinte comando:

javac ArrayToSet.java && java ArrayToSet

Na saída, devemos ver os elementos únicos do nosso array, que foram adicionados ao set durante a conversão.

Resumo

Neste laboratório, aprendemos como converter um array para um set em Java usando três métodos diferentes: addAll(), asList() e Java 8 Streams toSet(). Também aprendemos como importar as classes necessárias, criar um array e executar o programa Java usando a linha de comando. Ao entender esses conceitos, podemos facilmente converter um array para um set em Java.