1.使用Comparator进行排序
/**
* 使用Comparator进行排序
* @param userList 用户结合
*/
public void sortByComparator(List<UserBean> userList) {
System.out.println("排序前:");
for (UserBean user : userList) {
System.out.println(user.toString());
}
// 排序工具类
Collections.sort(userList, new Comparator<UserBean>() {
@Override
public int compare(UserBean o1, UserBean o2) {
return o1.getAge() - o2.getAge();
}
});
System.out.println("排序后:");
for (UserBean user : userList) {
System.out.println(user.toString());
}
}
2.使用Stream进行排序
/**
* 使用Stream进行排序
* @param userList 用户集合
*/
public void sortByStream(List<UserBean> userList) {
System.out.println("排序前:");
for (UserBean user : userList) {
System.out.println(user.toString());
}
// 排序过程
userList = userList.stream().sorted(Comparator.comparing(UserBean::getAge).reversed()).collect(Collectors.toList());
System.out.println("排序后:");
for (UserBean user : userList) {
System.out.println(user.toString());
}
}
3.使用Comparable进行排序
/**
* 使用Comparable进行排序
* @param userList 实现了Comparable接口的用户集合
*/
public void sortByComparable(List<User> userList) {
System.out.println("排序前:");
for (User user : userList) {
System.out.println(user.toString());
}
// 执行排序
Collections.sort(userList);
System.out.println("排序后:");
for (User user : userList) {
System.out.println(user.toString());
}
}