У меня есть ArrayList
, который нужно отфильтровать, и различные Guava Predicate
для его фильтрации. Этот список будет содержать только 50-100 элементов.
Я планировал Iterables.removeIf
использовать каждый предикат по очереди. Это, пожалуй, не максимально эффективно, но неважно (по крайней мере removeIf
имеет некоторую оптимизацию для списков RandomAccess)
Для отладки, я хочу кратко описать, что сделал каждый предикат. например.
Pred0 removed [a, c, g]
Pred1 removed []
Pred2 removed [b, f]
Есть некоторые очевидные решения для взлома, но что вы предложите как самые чистые?
Для бонусных очков он также должен быть достаточно эффективным.;)