我有ArrayList<Integer>
。我想检查列表中的所有元素是否大于或小于某个条件。我可以通过迭代每个元素来做到这一点。但我想知道Collection类中是否有任何方法可以获得答案,就像我们可以分别找到Collections.max()
和Collections.min()
的最大值或最小值一样。
答案 0 :(得分:33)
如果你有java 8,请使用流的allMatch
函数(reference):
ArrayList<Integer> col = ...;
col.stream().allMatch(i -> i>0); //for example all integers bigger than zero
答案 1 :(得分:6)
您可以使用Google guavas Iterables.all
Iterables.all(collection, new Predicate() {
boolean apply(T element) {
.... //check your condition
}
}
答案 2 :(得分:0)
如果不迭代 列表 的所有元素,则无法检查值。
for(Integer value : myArrayList){
if(value > MY_MIN_VALUE){
// do my job
}
}
我希望这会有所帮助