如何排序对象列表?

时间:2018-11-17 17:46:16

标签: java sorting

我有一个对象列表,每个对象都有一个方法,可以像这样返回玩家到所述对象的距离

object.distance(player)

现在我需要将该列表从最西部到最远进行排序

1 个答案:

答案 0 :(得分:0)

您可以在Java中使用接口java.lang.Comparable

假设object.distance(player)返回一个整数值的示例(伪代码)

class Distance implements Comparable<Distance>{
  /**
    * Compare a given Distance with this object.
    */
    public int compareTo(Distance o) {
        return this.distance(player).compareTo(o.distance(o.player));
    }
}

现在您可以像

那样对列表进行排序
Collections.sort(YourListOfDistance)

一些参考

When should a class be Comparable and/or Comparator?