javalist对象比较(数组和List中的对象排序)
前言:
每日一点点,先贴代码再说!
代码:
@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);
}
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com