第一种方法 在类中实现接口并重写CompareTo方法
/**
* 第一种方法 在类中重写Comparable
* 创建一个类,定义属性,实现 Comparable接口,并重写CompareTo方法
*/
public class ProductType implements Comparable<ProductType>{
private Integer id;
private String name;
private Integer parentId;
private Integer status;
@Override
public int compareTo(ProductType o) {
return o.id-id;
}
}
public static void main(String[] args) {
/**
* new一个List对象,往其中放入一些元素,
* 使用Collections.sort 方法完成排序
*/
Integer i=0;
List<ProductType> list=new ArrayList<>();
ProductType productType1=new ProductType(++i,i.toString(),i,i);
list.add(productType1);
ProductType productType2=new ProductType(++i,i.toString(),i,i);
list.add(productType2);
ProductType productType3=new ProductType(++i,i.toString(),i,i);
list.add(productType3);
ProductType productType4=new ProductType(++i,i.toString(),i,i);
list.add(productType4);
ProductType productType5=new ProductType(++i,i.toString(),i,i);
list.add(productType5);
ProductType productType6=new ProductType(++i,i.toString(),i,i);
list.add(productType6);
Collections.sort(list);
System.out.println(list);
第二种方法 在sort中new 一个Comparetor ,然后重写Compar方法
/**
* 创建一个类,定义属性
*/
public class ProductType {
private Integer id;
private String name;
private Integer parentId;
private Integer status;
public static void main(String[] args) {
/**
* new一个List对象,往其中放入一些元素,
* 使用sort方法 new一个Comparetor类 重写compare 完成排序
*/
Integer i=0;
List<ProductType> list=new ArrayList<>();
ProductType productType1=new ProductType(++i,i.toString(),i,i);
list.add(productType1);
ProductType productType2=new ProductType(++i,i.toString(),i,i);
list.add(productType2);
ProductType productType3=new ProductType(++i,i.toString(),i,i);
list.add(productType3);
ProductType productType4=new ProductType(++i,i.toString(),i,i);
list.add(productType4);
ProductType productType5=new ProductType(++i,i.toString(),i,i);
list.add(productType5);
ProductType productType6=new ProductType(++i,i.toString(),i,i);
list.add(productType6);
list.sort(new Comparator<ProductType>() {
@Override
public int compare(ProductType o1, ProductType o2) {
return o2.getId()-o1.getId();
}
});
System.out.println(list);