在 Java 中遍歷 Set

Rupam Yadav 2023年10月12日
  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.Enumeration;
import java.util.HashSet;
import java.util.Set;
import java.util.Vector;

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
作者: 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