0

treemap から値を取得しています:

ハッシュマップにすべての座標を文字列形式で追加しましたが、これは今ではツリーマップの文字列である raylist です。したがって、文字列内に配列リストを含む文字列 idlatlng からすべての値を取得したいと思います。

ハッシュマップに追加されたコード

LatLng allLatLng= new LatLng((lat1),(long1));
all.add(allLatLng);

 map.put("latlng" , all.toString());

2 番目のツリーマップ:

      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 に答える