遍历Java中的HashSet
众所周知, HashSet元素是无序的,因此遍历的元素可以按任意顺序打印。为了对我们的 HashSet 执行操作,例如插入、删除、更新元素,我们需要先伸出手才能访问 HashSet。以下是我们可以迭代元素以执行任何类型的操作的几种方法 o 设置元素,如下所示。
方法:
- 使用 for-each 循环
- 使用 forEach 方法
- 使用迭代器
方法一:使用for-each循环
它是另一种数组遍历技术,如Java 5 中引入的 for 循环、while 循环、do-while 循环。它以关键字for开头,就像普通的 for 循环一样。不是声明和初始化循环计数器变量,而是声明一个与数组的基本类型相同类型的变量,后跟一个冒号,然后是数组名称数组遍历技术,如 for 循环、while 循环、 Java 5 中引入的 do-while 循环。
例子:
Java
// Java program to demonstrate iteration over
// HashSet using an Enhanced for-loop
import java.util.*;
class IterationDemo {
public static void main(String[] args)
{
// your code goes here
HashSet h = new HashSet();
// Adding elements into HashSet using add()
h.add("Geeks");
h.add("for");
h.add("Geeks");
// Iterating over hash set items
for (String i : h)
System.out.println(i);
}
}
Java
// Java program to demonstrate iteration over
// HashSet using forEach() method
import java.util.*;
class IterationDemo {
public static void main(String[] args)
{
// your code goes here
HashSet h = new HashSet();
// Adding elements into HashSet using add()
h.add("Geeks");
h.add("for");
h.add("Geeks");
// Iterating over hash set items
h.forEach(i -> System.out.println(i));
}
}
Java
// Java program to Illustrate Traversal over HashSet
// Using an iterator
// Importing required classes
import java.util.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating empty HashSet by declaring object
// of HashSet class of string type
HashSet h = new HashSet();
// Adding elements into HashSet
// using add() method
h.add("Geeks");
h.add("for");
h.add("Geeks");
// Iterating over HashSet elements
// using iterator
Iterator i = h.iterator();
// Holds true till there is single element remaining
// in the Set
while (i.hasNext())
// Printing the elements
System.out.println(i.next());
}
}
输出
Geeks
for
方法二:使用 Stream 类的 forEach() 方法
Stream forEach(Consumer action)对流的每个元素执行一个操作。 Stream forEach(Consumer action) 是一个终端操作,即它可能会遍历流以产生结果或副作用。
Tip: In Java 8 or above, we can iterate a List or Collection using forEach() method.
例子:
Java
// Java program to demonstrate iteration over
// HashSet using forEach() method
import java.util.*;
class IterationDemo {
public static void main(String[] args)
{
// your code goes here
HashSet h = new HashSet();
// Adding elements into HashSet using add()
h.add("Geeks");
h.add("for");
h.add("Geeks");
// Iterating over hash set items
h.forEach(i -> System.out.println(i));
}
}
输出:
Geeks
for
方法 3:使用迭代器
iterator() 方法用于获取此集合中元素的迭代器。返回的元素没有特定的顺序。下面是演示它的Java程序。
例子
Java
// Java program to Illustrate Traversal over HashSet
// Using an iterator
// Importing required classes
import java.util.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating empty HashSet by declaring object
// of HashSet class of string type
HashSet h = new HashSet();
// Adding elements into HashSet
// using add() method
h.add("Geeks");
h.add("for");
h.add("Geeks");
// Iterating over HashSet elements
// using iterator
Iterator i = h.iterator();
// Holds true till there is single element remaining
// in the Set
while (i.hasNext())
// Printing the elements
System.out.println(i.next());
}
}
输出
Geeks
for