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

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

如果你有java 8,请使用stream的allMatch函数( 参考 ):

  ArrayList col = ...; col.stream().allMatch(i -> i>0); //for example all integers bigger than zero 

您可以使用Google guavas Iterables.all

  Iterables.all(collection, new Predicate() { boolean apply(T element) { .... //check your condition } } 

如果不迭代列表的所有元素,则无法检查值。

 for(Integer value : myArrayList){ if(value > MY_MIN_VALUE){ // do my job } } 

我希望这个能帮上忙