如何在Java中迭代列舉值?
Java 中的列舉 (enum) 是一種資料型別,用於儲存一組常量值。您可以使用列舉來儲存固定值,例如一週中的幾天、一年中的月份等。
enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}您可以使用 for 迴圈、forEach 迴圈和 java.util.stream 來迭代列舉的內容。
使用 for 迴圈
您可以使用 values() 方法檢索列舉的內容。此方法返回一個包含所有值的陣列。獲得陣列後,您可以使用 for 迴圈迭代它。
示例
以下 Java 程式使用 for 迴圈迭代上面建立的列舉 Days 的內容 -
public class IterateEnum{
public static void main(String args[]) {
Days days[] = Days.values();
System.out.println("Contents of the enum are: ");
//Iterating enum using the for loop
for(Days day: days) {
System.out.println(day);
}
}
}輸出
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
使用 forEach 迴圈
您可以將列舉轉換為列表或集合,並使用 forEach() 方法對列表的每個元素執行所需的操作。
EnumSet.allOf(Days.class).forEach(day -> System.out.println(day)); Or, Arrays.asList(Days.values()).forEach(day -> System.out.println(day));
示例
以下 Java 程式將上面建立的列舉 Days 轉換為一個集合,並使用 forEach 迴圈迭代其內容 -
import java.util.EnumSet;
public class IterateEnum{
public static void main(String args[]) {
Days days[] = Days.values();
System.out.println("Contents of the enum are: ");
//Iterating enum using forEach loop
EnumSet.allOf(Days.class).forEach(day -> System.out.println(day));
}
}輸出
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
使用 java.util.stream
您也可以將 foreach 迴圈與流一起使用。因此,使用 Stream 類的 of() 方法,您可以將列舉的內容轉換為流,並使用 forEach 迴圈對其元素執行所需的操作。
示例
以下 Java 程式使用 of() 方法將上面建立的列舉 Days 轉換為流,並使用 forEach 迴圈迭代其內容 -
import java.util.stream.Stream;
public class IterateEnum{
public static void main(String args[]) {
Days days[] = Days.values();
System.out.println("Contents of the enum are: ");
//Iterating the enum using java.util.stream
Stream.of(Days.values()).forEach(System.out::println);
}
}輸出
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP