Iterar por meio de conjunto em Java

Rupam Yadav 12 outubro 2023
  1. Iterar sobre Set/HashSet em Java usando o loop for aprimorado
  2. Iterate a Vector Using Enumeration in Java
  3. Iterar sobre Set/HashSet em Java convertendo-o em um array
  4. Iterar sobre Set/HashSet em Java usando o método stream() da classe Array
Iterar por meio de conjunto em Java

Este artigo irá introduzir como iterar através de Set ou HashSet em Java sem utilizar o Iterator. Um iterador é utilizado para devolver os elementos em ordem aleatória. Esta tarefa pode ser realizada utilizando vários métodos para além de um iterador.

Iterar sobre Set/HashSet em Java usando o loop for aprimorado

O laço for-each em Java também é chamado de laço melhorado for. É utilizado para iterar através de elementos de arrays e colecções em Java.

Aqui criámos um Set chamado mySet, utilizando a classe HashSet, uma colecção de elementos de strings. Ao chamar o método add() em mySet, adicionámos elementos ao mySet.

Utilizando o laço melhorado for, podemos iterar sobre cada elemento dentro da colecção e imprimi-lo, como mostrado no código. Para cada elemento do tipo s do tipo String no mySet, podemos iterar sobre ele. Note-se que os elementos iteram numa colecção não ordenada.

import java.util.HashSet;
import java.util.Set;

public class IterateOverHashSet {
  public static void main(String[] args) {
    Set<String> mySet = new HashSet<>();
    mySet.add("Apple");
    mySet.add("Banana");
    mySet.add("Mango");

    for (String s : mySet) {
      System.out.println("s is : " + s);
    }
  }
}

Resultado:

s is : Mango
s is : Apple
s is : Banana

Iterate a Vector Using Enumeration in Java

O Vector implementa a interface Lista, que nos ajuda a criar arrays redimensionáveis semelhantes à classe ArrayLista. Em primeiro lugar, criámos um Set de elementos do tipo string utilizando a classe HashSet, mais tarde adicionámos-lhe elementos utilizando o método add().

O myset é então passado ao construtor da classe Vector, e depois o método elementos() é chamado a enumerar através dos elementos da classe Vector.

Em seguida, utilizamos um laço while para imprimir até que a Enumeration (e) tenha mais elementos. Chamadas consecutivas ao método nextElements() devolvem elementos sucessivos da série.

import java.util.Enumeration;
import java.util.HashSet;
import java.util.Set;
import java.util.Vector;

public class IterateOverHashSet {
  public static void main(String[] args) {
    Set<String> mySet = new HashSet<>();
    mySet.add("Apple");
    mySet.add("Banana");
    mySet.add("Mango");

    Enumeration e = new Vector(mySet).elements();
    while (e.hasMoreElements()) {
      System.out.println(e.nextElement());
    }
  }
}

Resultado:

Mango
Apple
Banana

Iterar sobre Set/HashSet em Java convertendo-o em um array

Primeiro criamos um Set dos elementos do tipo String e adicionamos itens ao mySet. Para iterar sobre os elementos, convertemos o nosso mySet para um array utilizando o método toArray(). O método toArray() devolve um array que tem os mesmos elementos que no HashSet.

Depois, utilizando um laço for, podemos fazer um laço sobre todos os elementos do novo array chamado myArray. Imprimir cada elemento, como se mostra no código abaixo.

import java.util.HashSet;
import java.util.Set;

public class IterateOverHashSet {
  public static void main(String[] args) {
    Set<String> mySet = new HashSet<>();
    mySet.add("Apple");
    mySet.add("Banana");
    mySet.add("Mango");

    String[] myArray = mySet.toArray(new String[mySet.size()]);
    for (int index = 0; index < myArray.length; index++) {
      System.out.println("element : " + myArray[index]);
    }
  }
}

Resultado:

element : Mango
element : Apple
element : Banana

Iterar sobre Set/HashSet em Java usando o método stream() da classe Array

No código mostrado abaixo, criamos primeiro um Set de elementos do tipo String utilizando a classe HashSet em Java. Em seguida, adicionamos-lhe elementos chamando o método add() à sua instância fruits.

O método stream() devolve um fluxo sequencial de colecção. Convertemos o nosso Set de String - fruits, num stream. Mais tarde exibimos os elementos do stream utilizando uma expressão lambda.

import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream;

public class Simple {
  public static void main(String args[]) {
    Set<String> fruits = new HashSet<>();
    fruits.add("Apple");
    fruits.add("Banana");
    fruits.add("Mango");

    Stream<String> stream = fruits.stream();
    stream.forEach((fruit) -> System.out.println(fruit));
  }
}

Resultado:

Apple
Mango
Banana
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artigo relacionado - Java Set