java - 怎么验证一个集合里是否有两个元素?

查看:120
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆