Перебор Set в Java — Iterator, for-each и forEach с примерами
Пример 1: Итерация по Set с помощью цикла forEach
import java.util.Set;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// Creating an set
Set<String> languages = new HashSet<>();
languages.add("Java");
languages.add("JavaScript");
languages.add("Python");
System.out.println("Set: " + languages);
// Using forEach loop
System.out.println("Iterating over Set using for-each loop:");
for(String language : languages) {
System.out.print(language);
System.out.print(", ");
}
}
}
Вывод:
Set: [Java, JavaScript, Python]
Iterating over Set using for-each loop:
Java, JavaScript, Python,
В приведённом примере мы создали множество с помощью класса HashSet. Здесь мы использовали цикл for-each для обхода каждого элемента множества.
Пример 2: Итерация по Set с помощью iterator()
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
class Main {
public static void main(String[] args) {
// Creating an Set
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("Set: " + numbers);
// Creating an instance of Iterator
Iterator<Integer> iterate = numbers.iterator();
System.out.println("Iterating over Set:");
while(iterate.hasNext()) {
System.out.print(iterate.next() + ", ");
}
}
}
Вывод:
Set: [1, 2, 3]
Iterating over Set:
1, 2, 3,
В этом примере мы использовали класс HashSet для создания множества и метод iterator() для его обхода. Здесь:
hasNext()— возвращаетtrue, если в множестве есть следующий элемент;next()— возвращает следующий элемент.
Пример 3: Итерация по Set с помощью метода forEach()
import java.util.Set;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// create an Set
Set<Integer> numbers = new HashSet<>();
// add elements to the HashSet
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
System.out.println("Set: " + numbers);
// iterate each element of the set
System.out.print("Element of Set: ");
// access each element using forEach() method
// pass lambda expression to forEach()
numbers.forEach((e) -> {
System.out.print(e + " ");
});
}
}
Вывод:
Set: [1, 2, 3, 4]
Element of Set: 1 2 3 4
В приведённом примере мы создали множество numbers с помощью класса HashSet. Обратите внимание на код:
numbers.forEach((e) -> {
System.out.print(e + " ");
});
Здесь мы использовали метод forEach() для обращения к каждому элементу множества. Метод принимает лямбда-выражение в качестве аргумента.