前言:

每日一点点,先贴代码再说!

javalist对象比较(数组和List中的对象排序)(1)

代码:

@Data @ToString @AllArgsConstructor @NoArgsConstructor static class User { private Integer id; private String name; } public static void main(String[] args) { // 构造数组 User[] userArray = {new User(1, "1"), new User(2, "2")}; System.out.println(Arrays.toString(userArray)); // 一般写法 Arrays.sort(userArray, new Comparator<User>() { public int compare(User u1, User u2) { if (u1.id < u2.id) { return 1; } else if (u1.id > u2.id) { return -1; } return 0; } }); System.out.println(Arrays.toString(userArray)); // 简写方式1 Arrays.sort(userArray, (User u1, User u2) -> { return u1.name.compareTo(u2.name); }); System.out.println(Arrays.toString(userArray)); // 简写方式2 Arrays.sort(userArray, (a, b) -> { return b.name.compareTo(a.name); }); System.out.println(Arrays.toString(userArray)); }

@Data @ToString @AllArgsConstructor @NoArgsConstructor static class User { private Integer id; private String name; } public static void main(String[] args) { // 构造List List<User> userList = Arrays.asList(new User(1, "1"), new User(2, "2")); System.out.println(userList); // 一般写法 Collections.sort(userList, new Comparator<User>() { @Override public int compare(User u1, User u2) { if (u1.id < u2.id) { return 1; } else if (u1.id > u2.id) { return -1; } return 0; } }); System.out.println(userList); // 简写方式1 Collections.sort(userList,(User u1,User u2)->{ return u1.name.compareTo(u2.name); }); System.out.println(userList); // 简写方式2 Collections.sort(userList,(u1,u2)->{ return u2.name.compareTo(u1.name); }); System.out.println(userList); }

,