1、使用anyMatch条件判断
判断数据集合中是否存在任意一个元素符合设置的predicate条件( [boolean] anyMatch(Predicate predicate);
),如存在就返回true
,否则返回false
。
例如,
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static class Person {
int age;
Person (int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public static void main(String[] args) {
List<Person> pList = Arrays.asList(new Person(11),new Person(22), new Person(33), new Person(44), new Person(55));
pList.stream().forEach(o->{
System.out.println("stream() map() before :"+o.getAge());
});
//任意一个元素满足条件(年龄大于30),返回true。
boolean result = pList.stream().anyMatch(obj-> obj.getAge()>30);
System.out.println("stream() result :"+result);
System.exit(0); //success
}
}
2、使用noneMatch条件判断
判断数据集合中全部元素都不符合设置的predicate条件( boolean noneMatch(Predicate predicate);
),如全部不符合返回true
,否则返回false
。
例如,
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static class Person {
int age;
Person (int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public static void main(String[] args) {
List<Person> pList = Arrays.asList(new Person(11),new Person(22), new Person(33), new Person(44), new Person(55));
pList.stream().forEach(o->{
System.out.println("stream() map() before :"+o.getAge());
});
//全部元素不满足条件(年龄大于30),有满足的则返回false。
boolean result = pList.stream().noneMatch(obj-> obj.getAge()>30);
System.out.println("stream() result :"+result);
result = pList.stream().noneMatch(obj-> obj.getAge()<10);
System.out.println("stream() result :"+result);
System.exit(0); //success
}
}
3、使用allMatch条件判断
判断数据集合中全部元素都符合元素设置的predicate条件( boolean allMatch(Predicate predicate);
),如满足就返回true
,否则返回false
。如下,
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static class Person {
int age;
Person (int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public static void main(String[] args) {
List<Person> pList = Arrays.asList(new Person(11),new Person(22), new Person(33), new Person(44), new Person(55));
pList.stream().forEach(o->{
System.out.println("stream() map() before :"+o.getAge());
});
//所有元素满足条件(年龄大于30),不满足就返回false。
boolean result = pList.stream().allMatch(obj-> obj.getAge()>30);
System.out.println("stream() result :"+result);
System.exit(0); //success
}
}