首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将字符串转换为Map Ex - String str = "{Topic0 : 0,Topic1 :1,Topic2 : 0}";

将字符串转换为Map Ex - String str = "{Topic0 : 0,Topic1 :1,Topic2 : 0}";
EN

Stack Overflow用户
提问于 2020-06-17 15:25:22
回答 1查看 39关注 0票数 0
代码语言:javascript
运行
复制
String str = "{Topic0 : 0, Topic1 :1, Topic2 : 2}";

如何将字符串中的conatins、key和value转换为map?

代码语言:javascript
运行
复制
map.put("Topic0", 0);
map.put("Topic1", 1);
map.put("Topic2", 2);

所以我想要一个Map,它的关键字是"Topic0,Topic1,Topic2“,相应的值是"0,1,2”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-17 15:42:12

代码语言:javascript
运行
复制
public static void main(String[] strings) {
    String str = "{Topic0 : 0, Topic1 :1, Topic2 : 2}";
    //remove first and last char, i.e { and }
    str = str.substring(1, str.length()-1);
    Map<String,String> myMap = Pattern.compile("\\s*,\\s*")
            //split at ,
            .splitAsStream(str)
            //split at :
            .map(e -> e.split("\\s*:\\s*"))
            //map
            .map(e -> new AbstractMap.SimpleEntry<>(e[0],e[1]))
            //collect
            .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    System.out.println(myMap);

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62423579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档