我有一个字符串,但无法将其解析为 Map
string s="sakib hasan : 3 : sumon ali : 4 : tutul : 100
我需要从上面的字符串创建一个HashMap
。 sakib hasan,sumon ali,tutul,shila akter
应该是 HashMap
的 KEY 和 3,4,100,1,
应该是 VALUE
个 KEY
。
我已经尝试了流畅的代码,但无法解决问题
Map<String, Integer>amap=new HashMap<String,Integer>();
String[] splt=s.split(":");
for (String string : splt)
{
String[] pair=string.split(" ");
amap.put(pair[0])+Integer.parseInt(pair[1]);
}
有没有办法不用硬编码就可以做到这一点
最佳答案
试试这个。 您对“:”的拆分将单独返回每个项目。
然后你只需要将每个组作为一组,你可以在 for 循环中使用 i+=2
Map < String, Integer > amap = new HashMap < String, Integer > ();
String[] splt = s.split(" : ");
for (int i = 0; i < splt.length; i += 2) {
amap.put(splt[i],Integer.parseInt(splt[i + 1]));
}
关于java - java语言如何将字符串解析成hashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27848573/