排序一
public class Person implements Comparable < Person> {
private String name;
private int age;
public Person ( ) {
}
public Person ( String name, int age) {
this . name = name;
this . age = age;
}
@Override
public String toString ( ) {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}' ;
}
public String getName ( ) {
return name;
}
public void setName ( String name) {
this . name = name;
}
public int getAge ( ) {
return age;
}
public void setAge ( int age) {
this . age = age;
}
@Override
public int compareTo ( Person o) {
return o. getAge ( ) - this . getAge ( ) ;
}
}
import java. util. ArrayList;
import java. util. Collections;
public class Demo02Sort {
public static void main ( String[ ] args) {
ArrayList< Integer> list01= new ArrayList < > ( ) ;
list01. add ( 1 ) ;
list01. add ( 3 ) ;
list01. add ( 2 ) ;
System. out. println ( list01) ;
Collections. sort ( list01) ;
System. out. println ( list01) ;
ArrayList< String> list02= new ArrayList < > ( ) ;
list02. add ( "a" ) ;
list02. add ( "c" ) ;
list02. add ( "b" ) ;
System. out. println ( list02) ;
Collections. sort ( list02) ;
System. out. println ( list02) ;
ArrayList< Person> list03= new ArrayList < > ( ) ;
list03. add ( new Person ( "张三" , 18 ) ) ;
list03. add ( new Person ( "李四" , 20 ) ) ;
list03. add ( new Person ( "王五" , 15 ) ) ;
System. out. println ( list03) ;
Collections. sort ( list03) ;
System. out. println ( list03) ;
}
}
排序二
public class Student {
private String name;
private int age;
public Student ( ) {
}
public Student ( String name, int age) {
this . name = name;
this . age = age;
}
@Override
public String toString ( ) {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}' ;
}
public String getName ( ) {
return name;
}
public void setName ( String name) {
this . name = name;
}
public int getAge ( ) {
return age;
}
public void setAge ( int age) {
this . age = age;
}
}
import java. util. ArrayList;
import java. util. Collections;
import java. util. Comparator;
public class Demo03Sort {
public static void main ( String[ ] args) {
ArrayList< Integer> list01= new ArrayList < > ( ) ;
list01. add ( 1 ) ;
list01. add ( 3 ) ;
list01. add ( 2 ) ;
System. out. println ( list01) ;
Collections. sort ( list01, new Comparator < Integer> ( ) {
@Override
public int compare ( Integer o1, Integer o2) {
return o2- o1;
}
} ) ;
System. out. println ( list01) ;
ArrayList< Student> list02= new ArrayList < > ( ) ;
list02. add ( new Student ( "a小湖北" , 18 ) ) ;
list02. add ( new Student ( "天天虎" , 20 ) ) ;
list02. add ( new Student ( "小虎贝" , 17 ) ) ;
list02. add ( new Student ( "b小虎贝" , 18 ) ) ;
System. out. println ( list01) ;
Collections. sort ( list02, new Comparator < Student> ( ) {
@Override
public int compare ( Student o1, Student o2) {
int result= o2. getAge ( ) - o1. getAge ( ) ;
if ( result== 0 ) {
result= o2. getName ( ) . charAt ( 0 ) - o1. getName ( ) . charAt ( 0 ) ;
}
return result;
}
} ) ;
System. out. println ( list02) ;
}
}