Utilice Java 8 Stream API para filtrar objetos basados en una ID y fecha

tengo unContact clase, para la cual cada instancia tiene una únicacontactId.

public class Contact {
    private Long contactId;

    ... other variables, getters, setters, etc ...
}

Y unLog clase que detalla unaaction realizado por unContact en ciertolastUpdated fecha.

public class Log {
    private Contact contact;
    private Date lastUpdated;
    private String action;

    ... other variables, getters, setters, etc ...
}

Ahora, en mi código tengo unList<Log> que puede contener múltiplesLog instancias para un soloContact. Me gustaría filtrar la lista para incluir solo unaLog instancia para cadaContact, basado en ellastUpdated variable en elLog objeto. La lista resultante debe contener el más nuevo.Log instancia para cadaContact.

Podría hacer esto creando unMap<Contact, List<Log>>, luego recorriendo y obteniendo elLog instancia con maxlastUpdated variable para cadaContact, pero parece que podría hacerse mucho más simple con la API Java 8 Stream.

¿Cómo se podría lograr esto usando la API Java 8 Stream?

Respuestas a la pregunta(1)

Su respuesta a la pregunta