Avec Guava, vous pouvez utiliser des fonctions comme -
private enum StudentToId implements Function<Student, Integer> {
INSTANCE;
@Override
public Integer apply(Student input) {
return input.getId();
}
}
et vous pouvez utiliser cette fonction pour convertir la liste des étudiants en identifiants comme -.
Lists.transform(studentList, StudentToId.INSTANCE);
Il est certain qu'il tournera en boucle afin d'extraire tous les identifiants, mais n'oubliez pas que les méthodes guava renvoient la vue et la fonction ne seront appliquées que lorsque vous tenterez d'itérer sur le fichier List<Integer>
Si vous ne faites pas d'itération, la boucle ne sera jamais appliquée.
Remarque : N'oubliez pas qu'il s'agit d'une vue et que si vous souhaitez itérer plusieurs fois, il est préférable de copier le contenu dans un autre fichier. List<Integer>
comme
ImmutableList.copyOf(Iterables.transform(students, StudentToId.INSTANCE));