私は次のクラスを持っています:
public class School{
List<ClassRoom> classRooms;
}
public class ClassRoom{
List<Student> students;
}
public class Student{
String name;
List<Long> typeIdList;
}
typeId
与えられたクラスルーム内のすべての生徒に共通する要素だけを取得する必要があります。
typeID=123 を持つ特定のクラス roomS 内のすべての生徒を取得できるようにするには、次のようにします。
final long typeIdToSearchFor = ...;
Collection<Student> filtered = Collections2.filter(students,
new Predicate<Student>() {
@Override
public boolean apply(Student s) {
return s.typeId == typeIdToSearchFor;
}
}
);
Guavaがそのようなことを処理できるかどうか疑問に思っていますか? 交差とは、このタイプを考慮するためにすべてのインスタンスで発生する必要があることを意味します。
ループの方が読みやすいことはわかっていfor
ますが、グアバの機能を発見しただけです。