[英]covert string from treemap to arraylist<LatLng> which was arraylist<string>
我从treemap获得价值:
我已经将所有字符串格式的坐标添加到哈希图中,这是一个树状列表,现在是它在树图中的字符串。因此,我想从字符串idlatlng中检索所有值,该字符串包含在字符串内的arraylist:
代码已添加到哈希图中
LatLng allLatLng= new LatLng((lat1),(long1));
all.add(allLatLng);
map.put("latlng" , all.toString());
第二个树形图:
Collections.sort(list, new Comparator<Map<String, String>>() {
@Override
public int compare(Map<String, String> o1, Map<String, String> o2) {
String value1 = o1.get("amount");
String value2 = o2.get("amount");
return Integer.parseInt(value1)-Integer.parseInt(value2);
}
});
for (Map<String, String> map1 : list) {
String id = map1.get("id");
String amount = map1.get("amount");
System.out.println("amount= "+amount + " , " +"id = "+id);
String idlatlng = map1.get("latlng");
}
在上面的代码中,我得到了latlng的值。
String idlatlng = map1.get("latlng");
idlatlng
包含的arraylist.so如何将上述字符串中的值转换为arraylist.It是上一个问题的后续问题。我真的很感谢您的帮助。
输出:
String idlatlng
---> arraylist<LatLng>
我从idlatlng获得的值是:[ lat/lng: (70.0187, -141.0205), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163), lat/lng: (70.4515,-144.8163)]
我想你想要这个:
private ArrayList<LatLng> latlngs = new ArrayList<LatLng>();
for (Map<String, String> map1 : list) {
String id = map1.get("id");
String amount = map1.get("amount");
String idlatlng = map1.get("latlng");
LatLng latLng = new LatLng(id , amount, idlatlng);
latlngs.add(latLng);
}
LatLng allLatLng= new LatLng((lat1),(long1));
all.add(allLatLng);
map.put("latlng" , all.toString());
用上面的代码替换上面的代码
LatLng allLatLng= new LatLng((lat1),(long1));
all.add(allLatLng);
JSONArray jsonA = JSONArray.fromObject(all);
map.put("latlng" , jsonA.toString());
您的迭代如下所示
for (Map<String, String> map1 : list) {
String id = map1.get("id");
String amount = map1.get("amount");
System.out.println("amount= "+amount + " , " +"id = "+id);
JSONArray jsonArray = JSONArray.fromObject( map1.get("lanlat"));
Collection<LatLng> collection = JSONArray.toCollection(jsonArray, LatLng.class);
for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
LatLng latLng = (LatLng) iterator.next();
//Do whatever with your latLng object
}
}
注意:为了正常工作,LatLng类应具有defualt构造函数。
如果您需要更多详细信息,请告诉我......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.