java - 从列表映射java8中获取单个键的所有值
问题描述
我的清单如下:
List<Map<String,Object>> mapList=new ArrayList<>();
Map<String,Object> mapObject=new HashMap<String,Object>();
mapObject.put("No",1);
mapObject.put("Name","test");
mapList.add(mapObject);
Map<String,Object> mapObject1=new HashMap<String,Object>();
mapObject1.put("No",2);
mapObject1.put("Name","test");
mapList.add(mapObject1);
and so on...
现在我想将键“No”的所有值作为逗号分隔的字符串获取,如下所示:
String noList="1,2,3"
谁能建议我最好的方法。我知道我们可以通过循环来做到这一点,但除了循环之外,还有其他方法可以做到这一点。
解决方案
内嵌说明!
mapList.stream() // stream over the list
.map(m -> m.get("No")) // try to get the key "No"
.filter(Objects::nonNull) // filter any null values in case it wasn't present
.map(Object::toString) // call toString for each object
.collect(Collectors.joining(",")); // join the values
推荐阅读
- python - ClientConnectorCertificateError
- python - Apriori算法不显示结果
- android - 我升级到 android studio artic fox 并尝试打开一个新脚本,但运行时显示错误
- python-3.x - XML 使用 xpath 有条件地删除项目
- performance - Statsmodels - Poisson GLM 需要一个多小时来拟合模型 - 不返回任何内容
- apache-nifi - NiFi-等到我所有的处理器都完成而不会丢失流文件内容
- c# - 宣布使用 Screenreader 在 WPF 中打开了一个新窗口
- hibernate - hibernate 从 5.3.13 Final 升级到 5.4.24 Final 后无法插入记录
- julia - Julia 是否有类似“产量”的范式?
- javascript - 如何在另一个元素中移动鼠标时计算元素滚动高度和滚动