java treemap api_Java 8 Stream API toMap转换为TreeMap
public class Message {
private int id;
private User sender;
private User receiver;
private String text;
private Date senddate;
..
}
我有
List list= new ArrayList<>();
我需要將它們轉換為
TreeMap> map
我知道如何使用轉換為HashMap
list.stream().collect(Collectors.groupingBy(Message::getSender));
但我需要TreeMap:
密鑰 – 具有最新消息的用戶首先發送日期
價值 – 列表按senddate排序第一
User類的一部分
public class User{
...
private List sendMessages;
...
public List getSendMessages() {
return sendMessages;
}
}
用戶比較器:
public class Usercomparator implements Comparator {
@Override
public int compare(User o1, User o2) {
return o2.getSendMessages().stream()
.map(message -> message.getSenddate())
.max(Date::compareTo).get()
.compareTo(o1.getSendMessages().stream()
.map(message1 -> message1.getSenddate())
.max(Date::compareTo).get());
}
}
總結
以上是生活随笔為你收集整理的java treemap api_Java 8 Stream API toMap转换为TreeMap的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS-C语言第12天,(函数指针)Po
- 下一篇: 深度装机大师一键重装_deep深度装机大