import java.util.ArrayList; |
002 | import java.util.Collections; |
003 | import java.util.Comparator; |
004 | import java.util.List; |
005 | import java.util.Random; |
006 |
007 | /** |
008 | * |
009 | * @author www.zuidaima.com |
010 | * |
011 | */ |
012 | public class ListSort { |
013 |
014 | public static void main(String[] args) { |
015 | List<User> users = new ArrayList<User>(); |
016 | int id = 0 ; |
017 | User user = null ; |
018 |
019 | Random random = new Random(); |
020 |
021 | id = random.nextInt( 100000 ); |
022 | user = new User(id); |
023 | user.setId(id); |
024 | users.add(user); |
025 |
026 | id = random.nextInt( 100000 ); |
027 | user = new User(id); |
028 | user.setId(id); |
029 | users.add(user); |
030 |
031 | id = random.nextInt( 100000 ); |
032 | user = new User(id); |
033 | user.setId(id); |
034 | users.add(user); |
035 |
036 | id = random.nextInt( 100000 ); |
037 | user = new User(id); |
038 | user.setId(id); |
039 | users.add(user); |
040 |
041 | id = random.nextInt( 100000 ); |
042 | user = new User(id); |
043 | user.setId(id); |
044 | users.add(user); |
045 |
046 | id = random.nextInt( 100000 ); |
047 | user = new User(id); |
048 | user.setId(id); |
049 | users.add(user); |
050 |
051 | id = random.nextInt( 100000 ); |
052 | user = new User(id); |
053 | user.setId(id); |
054 | users.add(user); |
055 |
056 | id = random.nextInt( 100000 ); |
057 | user = new User(id); |
058 | user.setId(id); |
059 | users.add(user); |
060 |
061 | id = random.nextInt( 100000 ); |
062 | user = new User(id); |
063 | user.setId(id); |
064 | users.add(user); |
065 |
066 | System.out.println( "Before sort:" ); |
067 | for (User _user : users) { |
068 | System.out.print(_user + " " ); |
069 | } |
070 |
071 | Collections.sort(users, new Comparator<User>() { |
072 | @Override |
073 | public int compare(User user1, User user2) { |
074 | Integer id1 = user1.getId(); |
075 | Integer id2 = user2.getId(); |
076 | //可以按User对象的其他属性排序,只要属性支持compareTo方法 |
077 | return id2.compareTo(id1); |
078 | } |
079 | }); |
080 | System.out.println( "\nAfter sort 从大到小倒序:" ); |
081 | for (User _user : users) { |
082 | System.out.print(_user + " " ); |
083 | } |
084 | |
085 | Collections.sort(users, new Comparator<User>() { |
086 | @Override |
087 | public int compare(User user1, User user2) { |
088 | Integer id1 = user1.getId(); |
089 | Integer id2 = user2.getId(); |
090 | //可以按User对象的其他属性排序,只要属性支持compareTo方法 |
091 | return id1.compareTo(id2); |
092 | } |
093 | }); |
094 | System.out.println( "\nAfter sort 从小到大正序:" ); |
095 | for (User _user : users) { |
096 | System.out.print(_user + " " ); |
097 | } |
098 | } |
099 |
100 | } |
101 |
102 | class User { |
103 | private int id; |
104 |
105 | public User( int id) { |
106 | this .id = id; |
107 | } |
108 |
109 | public int getId() { |
110 | return id; |
111 | } |
112 |
113 | public void setId( int id) { |
114 | this .id = id; |
115 | } |
116 |
117 | @Override |
118 | public String toString() { |
119 | return id + "" ; |
120 | } |
121 | } |