林有結果的列表,ArrayList<PlacedObject> result
:在po.distance
設置的Java LINQ相當於與最高值獲取屬性列表
for(PlacedObject po : result){
float[] results = new float[3];
Location.distanceBetween(lastlocation.getLatitude()
,lastlocation.getLongitude()
,Double.parseDouble(po.lat)
,Double.parseDouble(po.lng) ,
results);
po.distance = results[0];
}
後,我想通過distance
屬性進行排序名單。在C#中我會使用LINQ,但有沒有在Java中的任何類似的解決方案?
由於
當前的解決方案:
Collections.sort(result, new Comparator<PlacedObject>(){
public int compare(PlacedObject s1, PlacedObject s2) {
return (int) (s1.distance - s2.distance);
}
});
它是否可以一直保持列表的排序?那麼你可能會碰到'SortedSet'。這樣你就不必手動應用排序。 http://docs.oracle.com/javase/6/docs/api/java/util/SortedSet.html –
2012-07-09 01:02:28