繁体   English   中英

从树图到arraylist的隐式字符串 <LatLng> 这是arraylist <string>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM