java - java语言如何将字符串解析成hashmap

标签 java string dictionary hashmap

我有一个字符串,但无法将其解析为 Map

string s="sakib hasan : 3 : sumon ali : 4 : tutul : 100

我需要从上面的字符串创建一个HashMapsakib hasan,sumon ali,tutul,shila akter 应该是 HashMap 的 KEY 和 3,4,100,1, 应该是 VALUEKEY

我已经尝试了流畅的代码,但无法解决问题

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/

相关文章:

java - 为 super 构造函数准备参数

C++ if语句比较字符串不起作用

javascript - 使用 javascript 读取一行

添加成员时 C++ map 对象不增长

java - Intuit Anywhere Java 的 Hello World 发现客户不工作

java - NoInitialContextException 错误的含义

c++ - 在 C++ 中将对插入到映射中

python - 如何在列表理解中将变量名称提取为字符串?

java - 获取引用的属性不是 (One|Many)ToOne Hibernate 异常

c - 在 C 中将指针与函数一起使用时出现错误