java集合对象属性排序

ゞ 浴缸里的玫瑰 2022-06-01 00:41 403阅读 0赞
  1. package com.zr.List;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.Comparator;
  5. import java.util.List;
  6. /**
  7. * 集合对象属性排序
  8. *
  9. * @author 如
  10. */
  11. public class SortList {
  12. public static void main(String[] args) {
  13. List<User> userList = new ArrayList<User>();
  14. userList.add(new User("李小龙", "男", 74));
  15. userList.add(new User("李连杰", "男", 54));
  16. userList.add(new User("刘亦菲", "女", 29));
  17. userList.add(new User("杨紫琼", "女", 51));
  18. System.out.println("排序前:" + userList);
  19. Collections.sort(userList, new Comparator<User>() {
  20. /*
  21. * int compare(User o1, Student o2) 返回一个基本类型的整型
  22. * 返回负数表示:o1 小于o2,
  23. * 返回0 表示:o1和o2相等,
  24. * 返回正数表示:o1大于o2。
  25. */
  26. public int compare(User u1, User u2) {
  27. // 按照年龄进行升序排列
  28. if (u1.getAge() > u2.getAge()) {
  29. return 1;
  30. }
  31. if (u1.getAge() == u2.getAge()) {
  32. return 0;
  33. }
  34. return -1;
  35. }
  36. });
  37. System.out.println("排序后(升序):" + userList);
  38. Collections.reverse(userList);
  39. System.out.println("降序:"+userList);
  40. }
  41. }
  42. package com.zr.List;
  43. public class User {
  44. private String username;
  45. private String gender;
  46. private int age;
  47. public String getUsername() {
  48. return username;
  49. }
  50. public void setUsername(String username) {
  51. this.username = username;
  52. }
  53. public String getGender() {
  54. return gender;
  55. }
  56. public void setGender(String gender) {
  57. this.gender = gender;
  58. }
  59. public int getAge() {
  60. return age;
  61. }
  62. public void setAge(int age) {
  63. this.age = age;
  64. }
  65. @Override
  66. public String toString() {
  67. return "User [username=" + username + ", gender=" + gender + ", age=" + age
  68. + "]";
  69. }
  70. public User(String username, String gender, int age) {
  71. super();
  72. this.username = username;
  73. this.gender = gender;
  74. this.age = age;
  75. }
  76. public User() {
  77. super();
  78. // TODO Auto-generated constructor stub
  79. }
  80. }

发表评论

表情:
评论列表 (有 0 条评论,403人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java集合对象排序

    1.List排序 这个和数组的排序又不一样了。 其实Java针对数组和List的排序都有实现,对数组而言,你可以直接使用Arrays.sort,对于List和Vector而