Mam klasę o nazwie Contact
, która ma zmienną Date lastUpdated;
.Pobieranie obiektu z właściwością max date z listy obiektów Java 8
Chciałbym usunąć Contact
z List<Contact>
, który ma maksymalną wartość lastUpdated
zmiennej.
Wiem, że można to zrobić, pisząc niestandardowy komparator i używając Collections.max
, ale zastanawiałem się, czy jest sposób, w jaki można to zrobić w Javie 8, który nie wymaga użycia niestandardowego komparatora, ponieważ po prostu chcę pobierz ten z maksymalną datą w jednym miejscu w moim kodzie, a klasa Contact
nie powinna zawsze używać zmiennej lastUpdated
do porównywania instancji.
Czy jeden lub drugi ('' Collections.max' lub strumień() max (Komparator) .get() '.) Więcej wydajnych? –
@AndrewMairose Możesz zmierzyć, aby zobaczyć, że nie oczekuję dużej różnicy między nimi, ale tylko pomiary podpowiedzą Ci, jak dokładnie to jest. Podejście strumieniowe pozwala jednak na równoległe wykonywanie obliczeń, jeśli zestaw danych jest wystarczająco duży, aby był tego wart. –