【发布时间】:2017-06-06 09:20:25
【问题描述】:
这是我的清单:
[
{name: 'moe', age: 40},
{name: 'larry', age: 50},
{name: 'curly', age: 60}
];
我想像这样提取name 值并创建另一个List:
["moe", "larry", "curly"]
我已经编写了这段代码并且它可以工作:
List<String> newList = new ArrayList<>();
for(Map<String, Object> entry : list) {
newList.add((String) entry.get("name"));
}
但是如何在使用stream 时做到这一点。我试过这段代码不起作用。
List<String> newList = list.stream().map(x -> x.get("name")).collect(Collectors.toList());
【问题讨论】:
-
仅供参考,这些不是 json。我刚刚用它们来代表我的
List对象。
标签: java java-8 java-stream