1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import  java.util.ArrayList;
import  java.util.Collections;
import  java.util.List;
 
/**
  * Java对象排序
  */
public  class  User  implements  Comparable<User> {
     private  int  idx;
 
     public  User( int  idx) {
         this .idx = idx;
     }
 
     public  int  getIdx() {
         return  idx;
     }
 
     public  void  setIdx( int  idx) {
         this .idx = idx;
     }
 
     @Override
     public  String toString() {
         return  "User{"  +
                 "idx="  + idx +
                 '}' ;
     }
 
     @Override
     public  int  compareTo(User o) {
         return  idx - o.idx;
     }
 
     public  static  void  main(String[] args) {
         User a1 =  new  User( 1 );
         User a2 =  new  User( 2 );
         User a3 =  new  User( 3 );
         User a4 =  new  User( 4 );
 
         List<User> userList =  new  ArrayList<>( 4 );
         userList.add(a3);
         userList.add(a2);
         userList.add(a4);
         userList.add(a1);
 
         Collections.sort(userList);   //排序后彻底改变原集合元素次序
         for  (User user : userList) {
             System.out.println(user);
         }
     }
}
1
2
3
4
5
6
User{idx= 1 }
User{idx= 2 }
User{idx= 3 }
User{idx= 4 }
 
Process finished with exit code  0