2012-06-26 45 views
0

我有網站服務,其中列出了在特定區域的財產 我的問題是,所有財產必須在地圖上顯示,如果有任何情況下 是超過兩個屬性經緯度和長度相同的列表中,那財產將顯示在在谷歌地圖一樣泡我一直分析的結果,但我無法過濾那些具有相同的性質和土地增值稅在xml.I長我試圖爲parsinng一個ArrayList返回後: -如何在一個列表中過濾相同的日誌值?

private Vector groupTheList(ArrayList<Applicationdataset> arrayList) 
{ 
    Vector<ArrayList<Applicationdataset>> mgroupvector = new Vector<ArrayList<Applicationdataset>>(); 
    ArrayList<Applicationdataset> mfirstList = new ArrayList<Applicationdataset>(); 
    ArrayList<Applicationdataset> mylist=null; 
    int sizeoflist = arrayList.size(); 
    for(int index =0;index<arrayList.size();index++) 
    { 
     //ArrayList<Applicationdataset> mylist= mgroupvector.get(index); 
     if(mylist==null) 
     { 
      mylist = new ArrayList<Applicationdataset>(); 
     } 
     mfirstList.add(arrayList.get(index)); 

     for(int mindex=1;mindex<arrayList.size();mindex++) 
     { 
     if(arrayList.get(index).getLatitude().equalsIgnoreCase(arrayList.get(mindex).getLatitude()) && 
       arrayList.get(index).getLongitude().equalsIgnoreCase(arrayList.get(mindex).getLongitude())) 
     { 
      mfirstList.add(arrayList.get(mindex)); 
      arrayList.remove(mindex); 
     } 
     } 
     mylist.addAll(mfirstList); 
     mgroupvector.add(mylist); 
     mfirstList.clear(); 
     arrayList.remove(index); 
     index-=1; 
    } 
    mgroupvector.add(arrayList); 
    return mgroupvector; 

} 

但進一步的我已經無法做任何一個請幫助我。請任何人幫助我。

回答

1

事情是這樣的:

....... 
private Collection<List<Applicationdataset>> groupTheList(ArrayList<Applicationdataset> arrayList) { 
    Map<Key, List<Applicationdataset>> map = new HashMap<Key, List<Applicationdataset>>(); 
    for(Applicationdataset appSet: arrayList){ 
     Key<String, String> key = new Key(appSet.getLatitude(), appSet.getLongtitude()); 
     List<Applicationdataset> list = map.get(key); 
     if(list == null){ 
      list = new ArrayList<Applicationdataset>(); 
      map.put(key, list); 
     } 
     list.add(appset); 
    } 
    return map.values(); 
} 
........ 

class Key { 
    String _lat; 
    String _lon; 

    Key(String lat, String lon) { 
     _lat = lat; 
     _lon = lon; 
    } 

    @Override 
    public boolean equals(Object o) { 
     if (this == o) return true; 
     if (o == null || getClass() != o.getClass()) return false; 

     Key key = (Key) o; 

     if (!_lat.equals(key._lat)) return false; 
     if (!_lon.equals(key._lon)) return false; 

     return true; 
    } 

    @Override 
    public int hashCode() { 
     int result = _lat.hashCode(); 
     result = 31 * result + _lon.hashCode(); 
     return result; 
    } 
} 
+0

感謝名單很多關於答覆,但我需要那些具有相同的緯度,經度店在同一個列表或地圖上的同一個鍵......請建議我 – sandee

+0

一些變化特性 - 對於地圖中的每個鍵 - 具有相同經度和緯度的對象列表。 –

+0

thanx很多,我非常感謝你給你寶貴的迴應... – sandee

相關問題