这是我的清单:
[
{name: 'moe', age: 40},
{name: 'larry', age: 50},
{name: 'curly', age: 60}
];
Run Code Online (Sandbox Code Playgroud)
我想挖name取值并创建另一个List像这样:
["moe", "larry", "curly"]
Run Code Online (Sandbox Code Playgroud)
我写了这段代码,它的工作原理如下:
List<String> newList = new ArrayList<>();
for(Map<String, Object> entry : list) {
newList.add((String) entry.get("name"));
}
Run Code Online (Sandbox Code Playgroud)
但是如何在使用中做到这一点stream.我试过这个代码不起作用.
List<String> newList = list.stream().map(x -> x.get("name")).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)