【发布时间】:2020-09-07 11:05:09
【问题描述】:
我有一个带有地图列表的对象。每张地图如下所示:
{
id: "something",
link: "someLink"
}
我正在尝试创建地图中所有 id 的数组列表。我可以用一个简单的循环来做到这一点
List<String> Ids = new ArrayList<>();
List<Map<String, String>> maps = pojo.getMaps();
for(Map<String, String> map: maps) {
Ids.add(map.get("id"));
}
但是这是如何使用 java 8 流在一行中完成的呢?我从来没有在地图上使用过它,所以我迷路了。 我认为它会是这样的,但老实说我不知道
List<String> ids = pojo.getMaps().stream().map(Map.Entry:: ???? ).collect(Collectors.toList())
【问题讨论】:
-
这应该可以解决问题:
.map(m -> m.get("id")).collect(Collectors.toList());
标签: java hashmap java-stream