我有一种情况是我想将字符串转换为SortedMap<String,SortedMap<String,Object>>
。在我的字符串中可以有一些单词,我希望将其添加到已排序的地图中。
String s2="{ age={}, city={City=1.4054651}, phoneno={}, zip={Zip=0.30685282}, name={}}";
请帮帮我。
答案 0 :(得分:0)
public static HashMap stringToHashMap(String str)
{
int count=0;
int equal_index=0;
int commaindex=0;
String key=null,val=null;
HashMap map=new HashMap();
int size=str.length();
if(str.charAt(0)=='{' && str.charAt(size-1)=='}')
{
System.out.println("Valid-Map object");
str=str.substring(1);
size=size-1;
while(size!=0)
{
equal_index=str.indexOf('=');
if(equal_index==-1 && count==0)
return null;
key=str.substring(0,equal_index);
str=str.substring(key.length()+1,size);
size=size-(key.length()+1);
commaindex=str.indexOf(",");
if(commaindex==-1)
commaindex=str.lastIndexOf('}');
val=str.substring(0,commaindex);
str=str.substring(val.length()+1,size);
size=size-(val.length()+1);
key=key.trim();
val.trim();
map.put(key, val);
count++;
}
}
else
throw new RuntimeException("Invalid string format--Cannot convert it to map");
return map;
}