Losowanie z ArrayList z obiektów spełniających kryterium

0

Hej. Mam w ArrayList studentów. Każdy student ma swoje id i też zmienną double marksAvg. Jak najlepiej wylosować studenta spośród tych, którzy mają np. średnią ocen marksAvg > 3.22? W C do takich rzeczy korzystałam z dodatkowej tablicy przechowującej id obiektów, z których mogę losować ale w Javie chyba można prościej?

0

Ja bym użył filter z Guavy:
http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Collections2.html#filter(java.util.Collection, com.google.common.base.Predicate)
i losował z kolekcji którą ci zwróci.

2

Uzyj nowego streaming api z javy 8.

2
n0name_l napisał(a):

Uzyj nowego streaming api z javy 8.

Faktycznie, jeśli możesz użyć javy 8 to warto skorzystać z filter() wbudowanego teraz w standard języka:

List<Student> filteredStudents = students.stream().filter(student->student.getMarksAvg()>3.22).collect(Collectors.toList());

1 użytkowników online, w tym zalogowanych: 0, gości: 1