Используйте Java 8 Stream API для фильтрации объектов на основе идентификатора и даты
у меня естьContact
класс, для которого каждый экземпляр имеет уникальныйcontactId
.
public class Contact {
private Long contactId;
... other variables, getters, setters, etc ...
}
ИLog
класс, который детализируетaction
в исполненииContact
на определенныйlastUpdated
Дата.
public class Log {
private Contact contact;
private Date lastUpdated;
private String action;
... other variables, getters, setters, etc ...
}
Теперь в моем коде у меня естьList<Log>
которые могут содержать несколькоLog
экземпляры для одногоContact
, Я хотел бы отфильтровать список, чтобы включить только одинLog
экземпляр для каждогоContact
, на основеlastUpdated
переменная вLog
объект. Полученный список должен содержать самые новыеLog
экземпляр для каждогоContact
.
Я мог бы сделать это, создавMap<Contact, List<Log>>
затем перебирая и получаяLog
экземпляр с максlastUpdated
переменная для каждогоContact
, но кажется, что это можно сделать намного проще с помощью Java 8 Stream API.
Как можно было бы сделать это с помощью Java 8 Stream API?