在 Java 中遍歷 Set
-
在 Java 中使用增強的
for迴圈對Set/HashSet進行迭代 -
在 Java 中使用列舉法迭代
Vector -
在 Java 中通過將
Set/HashSet轉換為一個陣列來迭代Set/HashSet -
在 Java 中使用
Array類的stream()方法迭代Set/HashSet
本文將介紹在 Java 中如何在不使用迭代器的情況下對 Set 或 HashSet 進行迭代。迭代器用於以隨機順序返回元素。這個任務可以使用迭代器以外的各種方法來完成。
在 Java 中使用增強的 for 迴圈對 Set/HashSet 進行迭代
Java 中的 for-each 迴圈也被稱為增強的 for 迴圈。它用於在 Java 中迭代陣列和集合的元素。
在這裡,我們使用 HashSet 類建立了一個名為 mySet 的 Set,這是一個字串元素的集合。通過呼叫 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 迴圈來列印,直到 Enumeration(e)有更多的元素。連續呼叫 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() 方法返回一個順序的集合流。我們將我們的 Set 的 String–fruits,轉換為 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn