?
class
?User?{
?String?name;
?String?age;
?
?
public
?User(String?name,String?age){
??
this
.name
=
name;
??
this
.age
=
age;
?}
?
public
?String?getAge()?{
??
return
?age;
?}
?
public
?
void
?setAge(String?age)?{
??
this
.age?
=
?age;
?}
?
public
?String?getName()?{
??
return
?name;
?}
?
public
?
void
?setName(String?name)?{
??
this
.name?
=
?name;
?}?
}
public class SortTest {?
public
?
static
?
void
?main(String[]?args){
??List?userlist
=
new
?ArrayList();
??userlist.add(
new
?User(
"
dd
"
,
"
4
"
));
??userlist.add(
new
?User(
"
aa
"
,
"
1
"
));
??userlist.add(
new
?User(
"
ee
"
,
"
5
"
));
??userlist.add(
new
?User(
"
bb
"
,
"
2
"
));??
??userlist.add(
new
?User(
"
ff
"
,
"
5
"
));
??userlist.add(
new
?User(
"
cc
"
,
"
3
"
));
??userlist.add(
new
?User(
"
gg
"
,
"
6
"
));
???
Collections.sort(userlist,
new
?Comparator
<
User
>
(){
public
?
int
?compare(User?arg0,?User?arg1)?{
??????????????????User?user0
=
(User)arg0;
??????????????????User?user1
=
(User)arg1;
??????????????????
//
首先比較年齡,如果年齡相同,則比較名字
??????????????????
int
?flag
=
user0.getAge().compareTo(user1.getAge());
??????????????????
if
(flag
==
0
){
???????????????????
return
?user0.getName().compareTo(user1.getName());
??????????????????}
else
{
???????????????????
return
?flag;
??????????????????}??
?????????????????}
????????});
???
??
for
?(
int
?i
=
0
;i
<
userlist.size();i
++
){
???User?user_temp
=
(User)userlist.get(i);
??????System.out.println(user_temp.getAge()
+
"
,
"
+
user_temp.getName());?
??}
??
?}
}
?
//
首先比較年齡,如果年齡相同,則比較名字
結果:
???
1
,?aa
???
2
,?bb
???
3
,?cc
???
4
,?dd
???
5
,?ee
???
5
,?ff
???
6
,?gg
posted on 2009-03-16 22:19
梓楓 閱讀(433)
評論(1) 編輯 收藏 所屬分類:
java