我有一个具有以下格式的数据框。
ID | Value
1 | AAA
2 | XXX
3 | BBB
1 | XXX
2 | CCC
3 | DDD
1 | YYY
2 | DDD
3 | XXX
如何在ID中找到交集?
1 -> AAA,XXX,YYY
2 -> XXX,CCC,DDD
3 -> BBB,DDD,XXX
Expected result: XXX
非常感谢您!
答案 0 :(得分:3)
按stream()
分组,并检查哪些组具有所有值
public A findAFromB(B b) {
List<A> aList = aService.findAll();
Optional<A> matchingObject = aList.stream()
.filter(/*find whether a.getB().equals(b) OR a.getBSet().contains(b)*/)
.getA();
return (A) matchingObject.get();
}
输出:
Value