【发布时间】:2020-11-28 17:50:48
【问题描述】:
在 Java8/streams 中寻找替代代码。
我想使用预定义的键数组将特定值从 Map 复制到 List 中。
在 Java 7 中完成此任务的代码如下:
public List<Fruit> getFruitList(Map<String, Fruit> fruitMap) {
final String[] fruitNames = { "apple", "banana", "mango" };
final ArrayList<Fruit> fruitList = new ArrayList<>(fruitNames.length);
for (int i = 0; i < fruitNames.length; i++) {
final String fruitName = fruitNames[i];
final Fruit fruit = fruitMap.get(fruitName);
if (fruit != null) {
fruitList.add(fruit);
}
}
fruitList.trimToSize();
return fruitList;
}
【问题讨论】:
标签: java-8 java-stream