📜  遍历Java中的HashSet

📅  最后修改于: 2022-05-13 01:55:50.021000             🧑  作者: Mango

遍历Java中的HashSet

众所周知, HashSet元素是无序的,因此遍历的元素可以按任意顺序打印。为了对我们的 HashSet 执行操作,例如插入、删除、更新元素,我们需要先伸出手才能访问 HashSet。以下是我们可以迭代元素以执行任何类型的操作的几种方法 o 设置元素,如下所示。

方法:

  1. 使用 for-each 循环
  2. 使用 forEach 方法
  3. 使用迭代器

方法一:使用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) 是一个终端操作,即它可能会遍历流以产生结果或副作用。

例子:

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