List<String> names = list.stream()
.map(i -> i.get("name").toString())
.collect(Collectors.toList());
i.get("name").toString()
可能会产生一个NPE,聪明的做法是过滤掉不包含密钥的地图
"name"
:
List<String> names = list.stream()
.filter(i -> i.containsKey("name"))
.map(i -> i.get("name").toString())
.collect(Collectors.toList());
或
List<String> names = list.stream()
.map(i -> i.get("name"))
.filter(Objects::nonNull)
.map(Object::toString)
.collect(Collectors.toList());