String str = "{Topic0 : 0, Topic1 :1, Topic2 : 2}";
如何将字符串中的conatins、key和value转换为map?
map.put("Topic0", 0);
map.put("Topic1", 1);
map.put("Topic2", 2);
所以我想要一个Map,它的关键字是"Topic0,Topic1,Topic2“,相应的值是"0,1,2”。
发布于 2020-06-17 15:42:12
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);
}
https://stackoverflow.com/questions/62423579
复制相似问题