我有这个对象:
public class AdresseReponse {
private String nom;
private String numero;
private String rue;
private String codePostal;
private String ville;
private String region;
private String pays;
private Coordonnee coordonnees;
private double distanceFromThePrevious;
private int number;
// + all setters & getters
}
在另一个类中,我有一个ArrayList:
ArrayList<AdresseReponse> etapes = new ArrayList<AdresseReponse>();
和这个方法:
public void testSort( AdresseReponse depart, AdresseReponse etape ) throws IOException, _Exception {...}
在这种方法中,我这样做:
etapes.add(etape);
之后,我需要通过distanceFromThePrevious来排序etapes。
我该怎么做?
答案 0 :(得分:1)
您可以使用java比较器实现此功能。
在此之后
etapes.add(etape);
添加
Sorter sorter = new Sorter();
Collections.sort(etapes, sorter);
此处分拣机是必须实施的自定义比较器。 而Sorter类(其中的分类器是一个实例)代码就是这样的
class Sorter implements Comparator<AddressResponse>{
@Override
public int compare(AddressResponse a, AddressResponse b){
if(a.getdistanceFromThePrevious() >= b.getdistanceFromThePrevious())
return 1;
else if(a.getdistanceFromThePrevious() < b.getdistanceFromThePrevious())
return -1;
}
希望这有帮助。