Java8でEnumをStreamに変換する方法

Java8でEnumをStreamに変換する方法

Enumのvaluesメソッドが配列を返すので、Arrays.streamメソッドを使用してstreamに変換することができます。a

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;
}

view raw
Week.java
hosted with ❤ by GitHub

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}
}
}

view raw
EnumSample.java
hosted with ❤ by GitHub

JavaのEnumをループする方法とabstractメソッドを定義する方法

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA