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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント