按适当性排序Java ArrayList <myobject>

时间:2016-08-25 13:11:13

标签: java sorting arraylist

我有这个对象:

    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。

我该怎么做?

1 个答案:

答案 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;
}

希望这有帮助。