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