List<Employee> Employees = getEmployeeList();
AtomicInteger count = new AtomicInteger();
Employees.stream()
.map(item -> {
UserProfile user = userDao.findById(item.getUserProfileId());
if(("domainName").equals(user.getDomain()) && ("agencyCode").equals(user.getAgencyNumber())){
count.getAndIncrement();
}
return item;
}).collect(Collectors.toList());
我需要满足要求的雇员人数 if
条件。如何移除 count
变量,而使用 count()
流api的方法?
澄清:我想筛选出符合if block中提到的当前条件的员工,而我只需要打一次电话。我之前所做的,我会展示出来。
List<Employee> Employees = getEmployeeList();
Employee employee = Employees.stream()
.filter(item -> ("domainName").equals(userDao.findById(item.getUserProfileId()).getDomain()))
.filter(item -> ("agencyCode").equals(userDao.findById(item.getUserProfileId()).getAgencyNumber()))
.findAny().orElse(null);
所以我只需要调用userdao方法一次。
2条答案
按热度按时间jchrr9hc1#
如果仍然需要原始对象,可以使用布尔键创建贴图。像这样:
然后你可以在你想要的名单上给count打电话。
oknwwptz2#