【发布时间】:2018-02-01 20:43:11
【问题描述】:
我感到很尴尬,我被困在这个问题上,但我试图从Map<MyEnum, String> 中提取字符串列表 (List<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;
但我正在寻找一种 Java 8 方法来做到这一点。比如……
map.stream().map(e->?????)
【问题讨论】:
-
请edit您的问题包括您“卡住”的代码,以及您“卡住”的代码。仅仅说“卡住”对我们来说并没有多大意义。
-
必须用 Stream 来完成吗?
Map<MyEnum, String> copy = new HashMap<>(map); copy.keySet().retainAll(fields); toReturn = new ArrayList<>(copy.values());可能会更干净。