在 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