java - 将字符串转换为地图在 Java 8 中
问题描述
有人可以指导我如何使用 Java 8 实现以下目标。我不知道如何将该计数器作为键
String str = "abcd";
Map<Integer,String> map = new HashMap<>();
String[] strings = str.split("");
int count =0;
for(String s:strings){
map.put(count++, s);// I want the counter as the key
}
解决方案
你可以用它IntStream
来完成这件事。使用整数值作为键,并将该索引处的字符串数组中的相关值作为映射的值。
Map<Integer, String> counterToStr = IntStream.range(0, strings.length)
.boxed()
.collect(Collectors.toMap(Function.identity(), i -> strings[i]));
避免需要的另一种选择split
是,
Map<Integer, String> counterToStr = IntStream.range(0, strings.length)
.boxed()
.collect(Collectors.toMap(Function.identity(), i -> str.charAt(i) + ""));
推荐阅读
- python - BeautifulSoup 和 Selenium 无法获取
嵌套下的内容
- php - 如何维护数据库中表中列数据的完整性
- python - Python Pandas:reindex 属性删除所有以前存在的值
- firebase - firebaseMessaging 配置
- c++ - 尝试使用 cpp 线程并行化 NTT
- python - 如果验证为假,则验证并重新启动 python for 循环
- reactjs - 移除焦点和悬停 AntD 按钮
- javascript - 如何在 ChromeCast Web 接收器中使用自定义数据对象
- python - 在 Vizard 中为图像创建两个顺序任务
- git - 如何不拉取 GitHub 中的某些文件?