Java8でEnumをStreamに変換する方法
Enumのvaluesメソッドが配列を返すので、Arrays.streamメソッドを使用してstreamに変換することができます。
Arrays.stream(Week.values()).forEach(System.out::println);
Enumは以下です。
package jp.co.confrage;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum Week {
Sunday("日"),
Monday("月"),
Tuesday("火"),
Wednesday("水"),
Tursday("木"),
Friday("金"),
Saturday("土");
private String day;
}
EnumからMapに変換する
EnumからMapに変換します。
package jp.co.confrage;
import java.util.Arrays;
import java.util.stream.Collectors;
public class EnumSample {
public static void main(String[] args) {
var ret =
Arrays.stream(Week.values())
.map(
e -> {
return e.name();
})
.collect(Collectors.toMap(k -> k, v -> v));
System.out.println(ret); // {Monday=Monday, Tursday=Tursday, Friday=Friday, Sunday=Sunday, Wednesday=Wednesday, Tuesday=Tuesday, Saturday=Saturday}
}
}
JavaのEnumをループする方法とabstractメソッドを定義する方法

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^

コメント