Verwenden Sie die Java 8 Stream-API, um Objekte basierend auf einer ID und einem Datum zu filtern.

Ich habe einContact Klasse, für die jede Instanz ein eindeutiges @ hcontactId.

public class Contact {
    private Long contactId;

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

Und einLog Klasse, die ein @ detaillieaction durchgeführt von einemContact an einem bestimmtenlastUpdated Datum

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

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

Now, in meinem Code habe ich einList<Log> das kann mehrere @ enthaltLog Instanzen für ein einzelnesContact. Ich möchte die Liste so filtern, dass sie nur ein @ enthälLog Instanz für jedesContact, basierend auflastUpdated Variable in derLog Objekt. Die resultierende Liste sollte das neueste @ enthaltLog Instanz für jedesContact.

Ich könnte dies tun, indem ich ein @ erstelMap<Contact, List<Log>>, dann durchschleifen und das @ bekommLog Instanz mit maxlastUpdated Variable für jedesContact, aber dies scheint mit der Java 8 Stream-API viel einfacher zu sein.

Wie kann man dies mit der Java 8 Stream-API erreichen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage