如何迭代Java HashSet

时间:2020-01-09 10:35:03  来源:igfitidea点击:

在本文中,我们将介绍在Java中迭代Set或者HashSet的不同方法。迭代HashSet的选项如下:

  • 我们可以使用Java 5中提供的For-Each循环(高级或者增强的for循环)。
  • 我们可以使用Iterator迭代HashSet。使用iterator()方法可以获得一个迭代器,然后使用该迭代器的hashNext()和next()方法可以迭代一个HashSet。
  • 我们还可以使用Java 8中可用的forEach语句遍历Set。

Java HashSet迭代示例

这是一个Java示例代码,显示了上述所有在Java中循环Set的方法。

public class SetIteration {
  public static void main(String[] args) {
    Set<String> capitalSet = new HashSet<String>();
    // adding elements
    capitalSet.add("New Delhi");
    capitalSet.add("Lisbon");
    capitalSet.add("Buenos Aires");
    capitalSet.add("Beijing");
        
    System.out.println("**Iterating HashSet using For-Each loop**");
    for(String capital : capitalSet){
      System.out.println("Capital city- " + capital);
    }
        
    System.out.println("**Iterating using Iterator**");

    Iterator<String> itr = capitalSet.iterator();
    while(itr.hasNext()){            
      System.out.println("Capital city- " + itr.next());        
    }
        
    System.out.println("**Iterating using forEach statement**");

    capitalSet.forEach((c)->System.out.println("Capital city- " + c));

    System.out.println("**Iterating using forEach statement (Method reference)**");
    // Using forEach with method reference
    capitalSet.forEach(System.out::println);        
  }
}

输出:

**Iterating HashSet using For-Each loop**
Capital city- Beijing
Capital city- New Delhi
Capital city- Lisbon
Capital city- Buenos Aires
**Iterating using Iterator**
Capital city- Beijing
Capital city- New Delhi
Capital city- Lisbon
Capital city- Buenos Aires
**Iterating using forEach statement**
Capital city- Beijing
Capital city- New Delhi
Capital city- Lisbon
Capital city- Buenos Aires
**Iterating using forEach statement (Method reference)**
Beijing
New Delhi
Lisbon
Buenos Aires