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 
梓枫 阅读(453) 
评论(1)  编辑  收藏  所属分类: 
java