首先准备集合:
List<People> list = Lists.newArrayList(new People(19, "张三"), new People(23, "李四"), new People(15, "王二"),new People(30, "麻子"));
- 匹配
- anyMatch:流中是否有一个元素能匹配给定的谓词,存在则返回true,否则false。例:警察检查网吧是否存在未成年
// 如果网吧只要有一个未成年则提醒警察大叔
if(list.stream().anyMatch(people -> people.getAge() < 18)){
log.debug("此网吧有未成年!");
}
- allMatch:流中所有元素是否都能匹配给定的谓词,全部匹配返回true,否则false。例:警察又来网吧检查了,这次我们采用另外一种方式
// 如果网吧不是所有人全部年满18岁则提醒警察大叔
if(!list.stream().allMatch(people -> people.getAge() >= 18)){
log.debug("此网吧有未成年!");
}
- noneMatch:确保流中没有任何元素与给定谓词匹配,全部匹配返回true,否则false。例:查网吧
// 如果网吧所有人没有一个