【问题标题】:Sort A Java ArrayList<MyObject> by a propriety按适当性对 Java ArrayList<MyObject> 进行排序
【发布时间】:2016-08-25 13:11:13
【问题描述】:

我有这个对象:

    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 进行排序。

我该怎么做?

【问题讨论】:

标签: java sorting arraylist


【解决方案1】:

您可以使用 java 比较器来实现它。

之后

etapes.add(etape);

添加

Sorter sorter = new Sorter();
Collections.sort(etapes, sorter);

这里的 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;
}

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2013-01-08
    • 1970-01-01
    • 2011-08-12
    • 2013-05-21
    • 2013-06-14
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 2020-01-12
    相关资源
    最近更新 更多