如何检查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 } }
我希望这个能帮上忙
- Java的Scanner vs String.split()vs StringTokenizer; 我应该用哪个?
- 将已知类型的引用转换为类型层次结构之外的接口
- Java 8generics函数应该是不明确的,但在运行时失败
- 当使用Apache-POI库获取单元格内容时,我得到“无法从文本单元格中获取数值”,反之亦然。 我如何解决它?
- Thread.interrupt()和Thread.interrupted()究竟是如何工作的?
- 如何慢慢地将物体颜色从一个变为另一个?
- java.util.concurrent.LinkedBlockingQueue中的奇怪代码
- 实体持久注册validation侦听器
- JPA Eclipselink数据库更改通知不会使缓存条目无效