首页 > 解决方案 > java - 如何根据Java中从小到大的数字对有序列表进行排序?

问题描述

我正在尝试使用对象对有序列表进行排序,但我不知道该怎么做。我正在放入具有与之关联的人口(整数)的对象。我将如何制定一种方法来对列表进行排序,以便人口最少的对象排在第一位,人口最多的对象排在最后。

标签: java

解决方案


“对于任何支持自然排序的类,它都应该实现 Comparable 接口并覆盖它的 compareTo() 方法。它必须返回一个负整数、零或正整数,因为该对象小于、等于或大于指定的对象。”

public class YourObject implements Comparable<YourObject> {

  int population;

  YourObject(int pop) {
    population = pop;
  }

  @Override
  public int compareTo(YourObject other) 
  {
      return this.population - other.population;
  }
}

然后你可以Collections.sort(list)在你的清单上使用


推荐阅读