从给定Java 8上的键列表的映射中提取值列表

jiv*_*key 5 java java-8

我感到很尴尬,我被困在这,但我试图List<String>Map<MyEnum, String>给定的枚举键列表中拉出字符串列表()List<MyEnum>.在List<MyEnum>可能或可能不包含的条目.

编辑:

List<String> toReturn = new ArrayList<>();

for (MyEnum field : fields) {
    String value = null;
    if ((value = map.get(field)) != null) {
       toReturn.add(value);
    }
}
return toReturn;
Run Code Online (Sandbox Code Playgroud)

但我正在寻找Java 8的方法来做到这一点.如...

map.stream().map(e->?????)
Run Code Online (Sandbox Code Playgroud)

Eug*_*ene 7

fields.stream()
      .map(map::get)
      .filter(Objects::nonNull)
      .collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)