public class Test {
private Integer Id;
private String Name;
private Integer IdCard;
public Integer getId ( ) {
return Id;
}
public void setId ( Integer id) {
Id = id;
}
public String getName ( ) {
return Name;
}
public void setName ( String name) {
Name = name;
}
public Integer getIdCard ( ) {
return IdCard;
}
public void setIdCard ( Integer idCard) {
IdCard = idCard;
}
}
import java. util. ArrayList;
import java. util. Collections;
import java. util. Comparator;
import java. util. List;
public class Test1 {
public static void main ( String[ ] args) {
Test test1= new Test ( ) ;
test1. setId ( 5 ) ;
test1. setName ( "张三" ) ;
test1. setIdCard ( 55 ) ;
Test test2= new Test ( ) ;
test2. setId ( 4 ) ;
test2. setName ( "李四" ) ;
test2. setIdCard ( 33 ) ;
Test test3= new Test ( ) ;
test3. setId ( 5 ) ;
test3. setName ( "王五" ) ;
test3. setIdCard ( 77 ) ;
Test test4= new Test ( ) ;
test4. setId ( 4 ) ;
test4. setName ( "陈六" ) ;
test4. setIdCard ( 11 ) ;
List< Test> testList= new ArrayList < Test> ( ) ;
testList. add ( test1) ;
testList. add ( test2) ;
testList. add ( test3) ;
testList. add ( test4) ;
Collections. sort ( testList, Comparator. comparing ( Test: : getId) ) ;
Collections. sort ( testList, Comparator. comparing ( Test: : getId) . reversed ( ) ) ;
Collections. sort ( testList, Comparator. comparing ( Test: : getId) . reversed ( ) . thenComparing ( Test: : getIdCard) ) ;
Collections. sort ( testList, Comparator. comparing ( Test: : getId) . thenComparing ( Test: : getIdCard) ) ;
Collections. sort ( testList, Comparator. comparing ( Test: : getId) . thenComparing ( Test: : getIdCard) . reversed ( ) ) ;
testList. sort ( ( ord1, ord2) - > ord2. getId ( ) . compareTo ( ord1. getId ( ) ) ) ;
testList. sort ( ( Test ord1, Test ord2) - > ord2. getId ( ) . compareTo ( ord1. getId ( ) ) ) ;
testList. stream ( ) . forEach ( test - > System. out. println ( test. getId ( ) + "/" + test. getIdCard ( ) + "/" + test. getName ( ) ) ) ;
}
}