如何检查java集合的所有元素是否符合某些条件?

时间:2014-06-19 10:14:10

标签: java collections

我有ArrayList<Integer>。我想检查列表中的所有元素是否大于或小于某个条件。我可以通过迭代每个元素来做到这一点。但我想知道Collection类中是否有任何方法可以获得答案,就像我们可以分别找到Collections.max()Collections.min()的最大值或最小值一样。

3 个答案:

答案 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
    }
}

我希望这会有所帮助