java中怎么将一段字符串按照特定分隔符将其字段值保存在地图、table或list中,然后后面通过key获取到对应的value
java中如何将一段字符串按照特定分隔符将其字段值保存在map、table或list中,然后后面通过key获取到对应的value?
RT:java中如何将一段字符串按照特定分隔符将其字段值保存在map、table或list中,然后后面通过key获取到对应的value?
如:以下字符串,想要的是按照一个一个字段映射关系将其存储到map或list中,通过key(如:field1)能获取到value(aaa)值。
field1=aaa, field2=null, field3=<bbb>, field3=http://test
------解决方案--------------------
这个不就是分割的事情吗
------解决方案--------------------
先按逗号分隔,得到String[] strArr1,然后遍历strArr1按=号分隔,map.put(等号前内容,等号后内容);
------解决方案--------------------
------解决方案--------------------
功能实现是关键,好不好是代码优化问题。
RT:java中如何将一段字符串按照特定分隔符将其字段值保存在map、table或list中,然后后面通过key获取到对应的value?
如:以下字符串,想要的是按照一个一个字段映射关系将其存储到map或list中,通过key(如:field1)能获取到value(aaa)值。
field1=aaa, field2=null, field3=<bbb>, field3=http://test
------解决方案--------------------
这个不就是分割的事情吗
------解决方案--------------------
先按逗号分隔,得到String[] strArr1,然后遍历strArr1按=号分隔,map.put(等号前内容,等号后内容);
------解决方案--------------------
String str="field1=aaa, field2=null, field3=<bbb>, field3=http://test";
String[] sArr=str.split(",");
Map<String,List<String>> map=new HashMap<String,List<String>>();
for(String s:sArr){
//针对你这里有重复key的情况不让其覆盖原key的内容而是添加到原key内容上
String[] ss=s.split("=");
String key=ss[0];
String value=ss[1];
List<String> list=map.get(key);
if(list==null){
list=new ArrayList<String>();
}
list.add(value);
map.put(key, list);
}
System.out.println(map);
------解决方案--------------------
功能实现是关键,好不好是代码优化问题。