Use a API Java 8 Stream para filtrar objetos com base em um ID e Data
eu tenho umContact
classe, para a qual cada instância tem um únicocontactId
.
public class Contact {
private Long contactId;
... other variables, getters, setters, etc ...
}
E umLog
classe que detalha umaaction
realizada por umContact
em um certolastUpdated
encontro.
public class Log {
private Contact contact;
private Date lastUpdated;
private String action;
... other variables, getters, setters, etc ...
}
Agora, no meu código, tenho umList<Log>
que pode conter váriosLog
instâncias para um únicoContact
. Gostaria de filtrar a lista para incluir apenas umLog
instância para cadaContact
, com base nolastUpdated
variável noLog
objeto. A lista resultante deve conter os mais recentesLog
instância para cadaContact
.
Eu poderia fazer isso criando umMap<Contact, List<Log>>
, percorrendo e obtendo oLog
instância com maxlastUpdated
variável para cadaContact
, mas parece que isso poderia ser feito de maneira muito mais simples com a API Java 8 Stream.
Como alguém conseguiria isso usando a API Java 8 Stream?