ava8写一个当List<B>中多个字段与List<A>进行match,match成功时,将match到的List<A>和List<B>出力的共通方法
时间: 2024-05-14 12:15:03 浏览: 97
多个List的交集
5星 · 资源好评率100%
可以使用Java8的Stream API来实现这个功能。假设我们有两个类A和B,它们分别有两个字段a1和a2、b1和b2,我们要将一个List<B>中的元素与一个List<A>中的元素进行匹配,当a1和b1相等且a2和b2相等时,就认为匹配成功。
代码示例:
```
public void match(List<A> listA, List<B> listB) {
listB.stream().forEach(b -> {
Optional<A> matchedA = listA.stream()
.filter(a -> a.getA1().equals(b.getB1()) && a.getA2().equals(b.getB2()))
.findFirst();
if (matchedA.isPresent()) {
System.out.println("Matched A: " + matchedA.get());
System.out.println("Matched B: " + b);
}
});
}
```
上述代码中,我们首先遍历List<B>中的元素,然后使用Stream API的filter方法来筛选出List<A>中与当前B对象匹配的元素,如果匹配成功,则打印出匹配到的A和B对象。
可以根据实际情况进行修改,例如将打印输出改为返回匹配到的A和B对象列表。
阅读全文