java - 使用 Java 8 流,如何将地图中的键替换为其索引?
问题描述
所以我有一个Map<String, Map<String, Integer>>
并且我想将它转换为一个 Map<Integer, Map<String, Integer>>
字符串键被替换为它在地图中的索引(0,1,2,.....)。我知道地图中的索引不准确,但这对我来说并不重要。我尝试使用 AtomicInteger 作为在流上的每次操作后递增的索引,但我无法解决问题......
解决方案
正如Michael a所指出的Map
,其中键仅Integer
相互跟随可以减少为 a List<Map<String, Integer>>
,但如果你真的是你的特定结构:
你可以使用
AtomicInteger
:AtomicInteger a = new AtomicInteger(0); before.forEach((key, value) -> after.put(a.getAndIncrement(), value));
或者, is
after
在开始时为空before.values().forEach(value -> after.put(after.size(), value));
推荐阅读
- freemarker - Freemarker 将转义的 ${expression} 分配给变量
- python - to_numeric 返回 NaN 相关
- git - 如何保持两个独立的工作目录同步——或者 git 能够识别相同的提交?
- angular - 在自定义指令中访问 ng-template 上的 let- 变量
- uwp - 无法使用 Open Sans 字体渲染特殊字符?
- mysql - MySQL Workbench 不使用所有的 cpu 内核
- python - 从外部程序粘贴到 Excel 文件中
- excel - 用于检查条件格式的预构建代码不起作用 - 类型错误
- spring - Spring JPA - 下拉列表(填充来自另一个表的数据)
- python - for循环中的Tkinter复选框