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

Chi*_*rag 15 java collections

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

kaj*_*acx 38

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

 ArrayList<Integer> col = ...;
 col.stream().allMatch(i -> i>0); //for example all integers bigger than zero
Run Code Online (Sandbox Code Playgroud)


amo*_*fis 6

您可以使用Google guavas Iterables.all

 Iterables.all(collection, new Predicate() {
    boolean apply(T element)  {
       .... //check your condition 
   } 
 } 
Run Code Online (Sandbox Code Playgroud)