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