У меня есть ArrayList<Integer>
. Я хочу проверить, все ли элементы списка больше или меньше определенного условия. Я могу сделать это, итерации по каждому элементу. Но я хочу знать, есть ли какой-либо метод в классе Collection, чтобы получить ответ, как мы можем сделать, чтобы найти максимум или минимум с помощью Collections.max()
и Collections.min()
соответственно.
Как проверить, соответствуют ли все элементы java-коллекции некоторым условиям?
Ответ 1
Если у вас есть java 8, используйте функцию stream allMatch
(ссылка):
ArrayList<Integer> col = ...;
col.stream().allMatch(i -> i>0); //for example all integers bigger than zero
Ответ 2
Вы можете использовать Google guavas Iterables.all
Iterables.all(collection, new Predicate() {
boolean apply(T element) {
.... //check your condition
}
}
Ответ 3
Вы не можете проверять значения без повторения всех элементов списка .
for(Integer value : myArrayList){
if(value > MY_MIN_VALUE){
// do my job
}
}
Я надеюсь, что это поможет