0
我有一個類Gym
它包含以下字段:如何對對象集合進行排序?
private int id;
private String name;
private String street;
private String housenumber;
private String zipcode;
private String lat;
private String lng;
private String city;
所有的數據是在數據庫中。用戶可以通過一些標準來過濾健身房:運動和距離。我有一個函數可以將所有gyms從數據庫中取出並添加到佈局中。
lat
和lng
字段也在數據庫中。
當用戶請求的所有使用下面的代碼計算用戶和位置之間的距離體育館:
double distance = Math.round(gpsHelper.calculateDistance(location.getLatitude(), Double.valueOf(gym.getLat()),
location.getLongitude(), Double.valueOf(gym.getLng()), 0.0, 0.0));
DecimalFormat df = new DecimalFormat("#.##");
String formattedDistance = "Afstand: " + String.valueOf(df.format(distance)) + " km";
我想要做的是:我想排序的所有健身房距離使用者的距離。所以按df.format(distance)
排序。
任何人都可以推動我走向正確的方向嗎?我想我已經添加了相關的代碼。
可以簡化您的例子可能是?像更小,容易驗證的東西? – Eugene
如果你有一個健身房列表(列表,那麼你應該在Gym類中重寫compareTo)(也就是說,你的健身房類應該實現Comparable界面) –
「按每個不均勻指數對它進行排序」 - 謹慎解釋那是什麼基本上,如果你有一個'List list',你可以通過Collections.sort(list,someComparator)對其進行排序,其中'someComparator'是'Comparator '的一個實現(你也可以使'健身房「執行」可比較「,但這隻允許你按照一個確切的順序進行排序,例如名字或距離。如果你需要它們中的任何一個,或者你需要一個比較器) –
Thomas