Dzięki guawie możesz użyć funkcji, takich jak -
private enum StudentToId implements Function<Student, Integer> {
INSTANCE;
@Override
public Integer apply(Student input) {
return input.getId();
}
}
i możesz użyć tej funkcji do konwersji listy uczniów na identyfikatory, takie jak -
Lists.transform(studentList, StudentToId.INSTANCE);
Z pewnością zapętli się, aby wyodrębnić wszystkie identyfikatory, ale pamiętaj, że metody guawy zwracają widok, a funkcja zostanie zastosowana tylko wtedy, gdy spróbujesz iterować po List<Integer>
pętli Jeśli nie wykonasz iteracji, nigdy nie zastosuje pętli.
Uwaga: Pamiętaj, to jest widok, a jeśli chcesz iteracyjne wiele razy, że będzie lepiej, aby skopiować zawartość w jakiś inny List<Integer>
podobny
ImmutableList.copyOf(Iterables.transform(students, StudentToId.INSTANCE));