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)
在你的清单上使用
推荐阅读
- python - Python:解析字符串时如何忽略特殊字符
- servicenow - 从服务目录订购商品时,如何获取服务中的变量值?
- javascript - 克服ajax页面刷新
- c# - 强制应用程序winform c#的一个实例
- c# - 为什么 Automapper 不继承 ForPath-ignores?
- javascript - Javascript 日期创建差异 - 在 IE 与 chrome 中
- ios - 检查App可以使用的iCloud Free Space
- python - 我正在尝试将 61 更改为十六进制,但我必须得到“3D”,但我有“313”。怎么了?
- vue.js - 如何在 PWA 模式下移除 Nuxt 加载页面
- vue.js - Vuejs - 引用的对象表示法