对对象的某些属性进行排序

来源:互联网 发布:ios开发需要学linux 编辑:程序博客网 时间:2024/06/10 20:59
Java代码 复制代码 收藏代码
  1. package test.user.taojq;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.Comparator;
  5. import java.util.List;
  6. class User {
  7. String name;
  8. String age;
  9. public User(String name,String age){
  10. this.name=name;
  11. this.age=age;
  12. }
  13. public String getAge() {
  14. return age;
  15. }
  16. public void setAge(String age) {
  17. this.age = age;
  18. }
  19. public String getName() {
  20. return name;
  21. }
  22. public void setName(String name) {
  23. this.name = name;
  24. }
  25. }
  26. //测试类
  27. public class SortTest {
  28. public static void main(String[] args){
  29. List userlist=new ArrayList();
  30. userlist.add(new User("dd","4"));
  31. userlist.add(new User("aa","1"));
  32. userlist.add(new User("ee","5"));
  33. userlist.add(new User("bb","2"));
  34. userlist.add(new User("ff","5"));
  35. userlist.add(new User("cc","3"));
  36. userlist.add(new User("gg","6"));
  37. // ComparatorUser comparator=new ComparatorUser();
  38. // Collections.sort(userlist, comparator);
  39. Collections.sort(userlist, new Comparator<User>(){
  40. public int compare(User user0, User user1) {
  41. int flag=user0.getAge().compareTo(user1.getAge());
  42. if(flag==0){
  43. return user0.getName().compareTo(user1.getName());
  44. }else{
  45. return flag;
  46. }
  47. }
  48. });
  49. for (int i=0;i<userlist.size();i++){
  50. User user_temp=(User)userlist.get(i);
  51. System.out.println(user_temp.getAge()+","+user_temp.getName());
  52. }
  53. }
  54. }  
原创粉丝点击