对任意对象列表进行排序
实现步骤:
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'}]

浙公网安备 33010602011771号