在 Java 中遍历 Set

Rupam Yadav 2023年1月30日 2020年12月19日
  1. 在 Java 中使用增强的 for 循环对 Set/HashSet 进行迭代
  2. 在 Java 中使用枚举法迭代 Vector
  3. 在 Java 中通过将 Set/HashSet 转换为一个数组来迭代 Set/HashSet
  4. 在 Java 中使用 Array 类的 stream() 方法迭代 Set/HashSet
在 Java 中遍历 Set

本文将介绍在 Java 中如何在不使用迭代器的情况下对 SetHashSet 进行迭代。迭代器用于以随机顺序返回元素。这个任务可以使用迭代器以外的各种方法来完成。

在 Java 中使用增强的 for 循环对 Set/HashSet 进行迭代

Java 中的 for-each 循环也被称为增强的 for 循环。它用于在 Java 中迭代数组和集合的元素。

在这里,我们使用 HashSet 类创建了一个名为 mySetSet,这是一个字符串元素的集合。通过调用 mySet 上的 add() 方法,我们向 mySet 添加了元素。

使用增强的 for 循环,我们可以迭代集合内的每个元素并打印出来,如代码所示。对于 mySet 中每个类型为 String 的元素 s,我们可以对其进行迭代。注意,元素在无序集合中迭代。

import java.util.HashSet;
import java.util.Set;

public class IterateOverHashSet {
    public static void main (String[] args){
      
        Set<String> mySet = new HashSet<>();
        mySet.add("Apple");
        mySet.add("Banana");
        mySet.add("Mango");
      
        for(String s : mySet){
            System.out.println("s is : "+s);
        }
      
    }
}

输出:

s is : Mango
s is : Apple
s is : Banana

在 Java 中使用枚举法迭代 Vector

Vector 实现了 List 接口,它可以帮助我们创建类似 ArrayList 类的可调整大小的数组。首先,我们使用 HashSet 类创建了一个字符串类型元素的 Set,之后使用 add() 方法向其中添加元素。

然后将 myset 传递给 Vector 类的构造函数,然后调用 elements() 方法来枚举 Vector 的元素。

然后,我们使用 while 循环来打印,直到 Enumeratione)有更多的元素。连续调用 nextElements() 方法返回该系列的连续元素。

import java.util.HashSet;
import java.util.Set;
import java.util.Vector;
import java.util.Enumeration;

public class IterateOverHashSet {
    public static void main (String[] args){
      
        Set<String> mySet = new HashSet<>();
        mySet.add("Apple");
        mySet.add("Banana");
        mySet.add("Mango");
      
        Enumeration e = new Vector(mySet).elements();
        while (e.hasMoreElements()) {
            System.out.println(e.nextElement());
        }
      
    }
}

输出:

Mango
Apple
Banana

在 Java 中通过将 Set/HashSet 转换为一个数组来迭代 Set/HashSet

我们首先创建一个字符串类型元素的 Set,并向 mySet 添加元素。为了对元素进行迭代,我们使用 toArray() 方法将 mySet 转换为一个数组。toArray() 方法返回一个数组,这个数组的元素与 HashSet 中的元素相同。

然后通过使用 for 循环,我们就可以循环处理新数组中的所有元素,命名为 myArray。打印每个元素,如下面的代码所示。

import java.util.HashSet;
import java.util.Set;

public class IterateOverHashSet {
    public static void main (String[] args){
      
        Set<String> mySet = new HashSet<>();
        mySet.add("Apple");
        mySet.add("Banana");
        mySet.add("Mango");
      
        String [] myArray = mySet.toArray(new String[mySet.size()]);
        for(int index = 0 ; index < myArray.length; index++){
            System.out.println("element : "+myArray[index]);
        }
      
    }
}

输出:

element : Mango
element : Apple
element : Banana

在 Java 中使用 Array 类的 stream() 方法迭代 Set/HashSet

在下面的代码中,我们首先使用 Java 中的 HashSet 类创建一个 String 类型元素的 Set。然后我们通过对其实例 fruits 调用 add() 方法向其添加元素。

stream() 方法返回一个顺序的集合流。我们将我们的 SetStringfruits,转换为 stream。之后我们用一个 lambda 表达式来显示 stream 的元素。

import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream; 

public class Simple{
public static void main(String args[]){
  
        Set<String> fruits = new HashSet<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Mango");
  
        Stream<String> stream = fruits.stream(); 
        stream.forEach((fruit) ->            
                    System.out.println(fruit)
        );
  
     }
}

输出:

Apple
Mango
Banana
Author: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相关文章 - Java Set