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 |
} |