对任意对象列表进行排序
实现步骤:
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'}]
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步