对任意对象列表进行排序
实现步骤:
1.必须 implements Comparable<T> T:要排序的对象
2. 重写 compareTo() 【要根据对象的哪个属性排序就在里面实现】
package com.zhao.algorithm.test; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * AUTHOR :zhao * 日期:2020/2/17 19:53 * 对任意对象列表进行排序 * 必须 implements Comparable<T> T:要排序的对象 * 重写 compareTo() */ public class Sort implements Comparable<Sort> { private Integer id; private String name; public Sort(Integer id,String name){ this.id=id; this.name = name; } @Override public String toString() { return "Sort{" + "id=" + id + ", name='" + name + '\'' + '}'; } /** * 这个 返回正数表示大于 也就是正排序 * 返回 0 等于 * 返回 负数就是小于 */ @Override public int compareTo(Sort o) { return this.id-o.id; } public static void main(String[] args) { List<Sort> list=new ArrayList<>(); for (int i = 10; i >0 ; i--) { list.add(new Sort(i,"名字"+i)); } System.out.println("排序前"+list); Collections.sort(list); System.out.println("排序后"+list); } }
排序前[Sort{id=10, name='名字10'}, Sort{id=9, name='名字9'}, Sort{id=8, name='名字8'}, Sort{id=7, name='名字7'},
Sort{id=6, name='名字6'}, Sort{id=5, name='名字5'}, Sort{id=4, name='名字4'}, Sort{id=3, name='名字3'},
Sort{id=2, name='名字2'}, Sort{id=1, name='名字1'}]
排序后[Sort{id=1, name='名字1'}, Sort{id=2, name='名字2'}, Sort{id=3, name='名字3'}, Sort{id=4, name='名字4'},
Sort{id=5, name='名字5'}, Sort{id=6, name='名字6'}, Sort{id=7, name='名字7'}, Sort{id=8, name='名字8'},
Sort{id=9, name='名字9'}, Sort{id=10, name='名字10'}]
· 35+程序员的转型之路:经济寒冬中的希望与策略
· JavaScript中如何遍历对象?
· 领域模型应用
· 记一次 ADL 导致的 C++ 代码编译错误
· MySQL查询执行顺序:一张图看懂SQL是如何工作的
· 35+程序员的转型之路:经济寒冬中的希望与策略
· 全球首位 AI 程序员 Devin 诞生了,对于程序员的影响到底多大?
· 使用 OpenAuth.Net 快速搭建 .NET 企业级权限工作流系统
· .NET 9 + React 开发的企业级后台权限管理系统,文档齐全,轻松上手
· 一款开源免费、通用的 WPF 主题控件包