用stream流 先按照手机号是否为空排序,再按照创建时间倒序排序
时间: 2023-05-22 12:06:22 浏览: 180
可以使用Java 8的stream对集合进行操作,代码如下:
List<User> userList = new ArrayList<>();
userList.add(new User("123", "2021-01-01 12:00:00"));
userList.add(new User(null, "2021-01-05 12:00:00"));
userList.add(new User("456", "2021-01-03 12:00:00"));
userList.add(new User(null, "2021-01-02 12:00:00"));
List<User> sortedList = userList.stream()
.sorted(Comparator.nullsFirst(Comparator.comparing(User::getPhone))
.thenComparing(Comparator.comparing(User::getCreateTime).reversed()))
.collect(Collectors.toList());
其中,User类的定义如下:
class User {
private String phone;
private String createTime;
// 构造方法和getter/setter省略
}
这段代码会将userList中的元素按照手机号是否为空排序,如果为空的元素会排在前面;然后再按照创建时间倒序排序。最终返回一个排好序的列表sortedList。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)