java - 怎么验证一个集合里是否有两个元素?
本文介绍了java - 怎么验证一个集合里是否有两个元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
假设我有一个List<Car>
, 我想知道里面是否包括:Civic和Focus。现在我是filter两次,但想知道有没有更好的方案:
boolean isCivic = reportElements.stream()
.filter(car -> "Civic".equals(car.getModel()))
.findFirst()
.isPresent();
boolean isFocus = reportElements.stream()
.filter(car -> "Focus".equals(car.getModel()))
.findFirst()
.isPresent();
return isCivic && isFocus;
解决方案
这是我在StackOverflow上看到的一个题目:一个比较标准的答案是:
return list.stream()
.map(Car::getModel)
.filter(m -> m.equals("Focus") || m.equals("Civic"))
.distinct()
.limit(2)
.count() == 2;
这篇关于java - 怎么验证一个集合里是否有两个元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文