0

我从树图中获得价值:

我已将字符串格式的所有坐标添加到 hashmap 中,这是一个 arraylist 现在它在 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。那么如何将上面的字符串中的值转换为arraylist。它是上一个问题的后续问题。我非常感谢任何帮助。提前感谢。

输出:

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)]

4

2 回答 2

0

我想你想要这个:

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);

}

于 2013-10-09T11:02:13.317 回答
0
 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 类应该有默认构造函数。

如果您需要更多详细信息,请告诉我......

于 2013-10-09T13:04:03.440 回答