我有这个对象:
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);
之后,我需要按距离ThePrevious 对 etapes 进行排序。
我该怎么做?
最佳答案
您可以使用 java 比较器来实现这一点。
在此之后
etapes.add(etape);
添加
Sorter sorter = new Sorter();
Collections.sort(etapes, sorter);
这里的排序器是必须实现的自定义比较器。 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;
}
希望这有帮助。
关于java - 按属性对 Java ArrayList<MyObject> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39146301/