我有两个列表,其中一个是 String 类型,另一个是某个实体对象。如何使用 java 8 遍历这两个列表或进行比较
List<Admin> admin= new ArrayList<>();
for (Admin ah : subProducers) {
for (String value : values) {
if (ah.getFirstName().contains(value) || ah.getLastName().contains(value)) {
admin.add(ah);
}
}
}
我目前正在使用 for 循环来验证该条件,我没有找到任何更好的方法来使用 java 8 流来组合它。
最佳答案
类似于带有嵌套流的 anyMatch
:
subProducers.stream()
.filter(a -> values.stream()
.anyMatch(b -> a.getFirstName().contains(b)
|| a.getLastName().contains(b)))
.collect(Collectors.toList())
关于java - 有没有办法在 Java 8 中使用 Streams 合并两个 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55364609/