📜  如何在Java中迭代 HashSet?

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

如何在Java中迭代 HashSet?

HashSet扩展AbstractSet并实现了Set接口。它创建了一个使用哈希表进行存储的集合。它使用一种称为散列的机制来存储信息。在散列中,键的信息内容用于确定唯一值,称为其散列码。

迭代 HashSet 有三种简单的方法,如下所示:

  1. 使用迭代器
  2. 不使用迭代器(使用 for 循环)
  3. 使用 for-each 循环

方法一:迭代器方法

在这个方法中,我们在迭代器的帮助下迭代 HashSet。首先,我们在Java中的iterator()方法的帮助下创建了一个迭代器来迭代 HashSet。

// Create a iterator of integer type to iterate HashSet

Iterator it = set.iterator();

然后在Java中的hasNext()Next()方法的帮助下迭代 HashSet 。其中hasNext()方法检查 HashSet 是否有元素, Next()方法访问 HashSet 的数据。

注意:在 hasNext() 之后只使用一次 Next() 方法。

例子:

Java
// Java program to iterate the HashSet
// using iterator
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        // Creating a new HashSet for iteration
        HashSet set = new HashSet<>();
  
        // Add data to HashMap
        set.add(10);
        set.add(20);
  
        // Duplicates not allowed in HashMap, so avoid by
        // HashMap
        set.add(10);
        set.add(50);
  
        // Duplicates not allowed in HashMap, so avoid by
        // HashMap
        set.add(50);
  
        // Create a iterator of type integer to iterate
        // HashSet
        Iterator it = set.iterator();
  
        System.out.println(
            "Iterate HashSet using iterator : ");
  
        // Iterate HashSet with the help of hasNext() and
        // next() method
        while (it.hasNext()) {
  
            // Print HashSet values
            System.out.print(it.next() + " ");
        }
    }
}


Java
// Java program to iterate the HashSet
// using for loop
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        // Creating a new HashSet for iteration
        HashSet set = new HashSet<>();
  
        // Add data to HashSet
        set.add("Hello");
        set.add("geeks");
        set.add("on");
  
        //  duplicates not allowed in HashMap, so avoid by
        //  HashMap
        set.add("geeks");
        set.add("for");
  
        //  duplicates not allowed in HashMap, so avoid by
        //  HashMap
        set.add("geeks");
  
        System.out.println(
            "Iterate HashSet using for loop : ");
  
        // Iterate throw a simple for loop
        for (String ele : set) {
            // Print HashSet data
            System.out.print(ele + " ");
        }
    }
}


Java
// Java program to iterate using forEach() loop
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        // Creating a new HashSet for iteration
        HashSet set = new HashSet<>();
  
        // Add data to HashSet
        set.add("Hello");
        set.add("geeks");
        set.add("on");
  
        //  duplicates not allowed in HashMap, so avoid by
        //  HashMap
        set.add("geeks");
        set.add("for");
  
        //  duplicates not allowed in HashMap, so avoid by
        //  HashMap
        set.add("geeks");
  
        System.out.println(
            "Iterate HashSet using forEach loop : ");
  
        // Iterate throw a forEach method in Java
        set.forEach(System.out::println);
    }
}


输出
Iterate HashSet using iterator : 
50 20 10

方法二:使用for循环进行迭代

在这个方法中,我们使用一个简单的 for 循环来迭代 HashSet。下面是这种方法的实现:

例子:

Java

// Java program to iterate the HashSet
// using for loop
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        // Creating a new HashSet for iteration
        HashSet set = new HashSet<>();
  
        // Add data to HashSet
        set.add("Hello");
        set.add("geeks");
        set.add("on");
  
        //  duplicates not allowed in HashMap, so avoid by
        //  HashMap
        set.add("geeks");
        set.add("for");
  
        //  duplicates not allowed in HashMap, so avoid by
        //  HashMap
        set.add("geeks");
  
        System.out.println(
            "Iterate HashSet using for loop : ");
  
        // Iterate throw a simple for loop
        for (String ele : set) {
            // Print HashSet data
            System.out.print(ele + " ");
        }
    }
}
输出
Iterate HashSet using for loop : 
Hello geeks for on

方法 3:使用 forEach() 方法

在此方法中,我们使用Java中的forEach()循环迭代 HashSet。下面是这个方法的实现:

例子:

Java

// Java program to iterate using forEach() loop
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        // Creating a new HashSet for iteration
        HashSet set = new HashSet<>();
  
        // Add data to HashSet
        set.add("Hello");
        set.add("geeks");
        set.add("on");
  
        //  duplicates not allowed in HashMap, so avoid by
        //  HashMap
        set.add("geeks");
        set.add("for");
  
        //  duplicates not allowed in HashMap, so avoid by
        //  HashMap
        set.add("geeks");
  
        System.out.println(
            "Iterate HashSet using forEach loop : ");
  
        // Iterate throw a forEach method in Java
        set.forEach(System.out::println);
    }
}
输出
Iterate HashSet using forEach loop : 
Hello
geeks
for
on