我需要根据条件返回匹配的对象。我有这个3级列表,我需要在第二个列表中返回一个对象。
下面的代码示例。
firstLevelList.getMySecondList().stream()
.flatMap(secondLevelList -> secondLevelList.getThirdLevelList().stream())
.filter(thirdLevelList -> thirdLevelList.getMyConditionObject() == "test")
现在我迷路了,我需要返回第二级列表对象,例如secondLevelList.getTest();。
希望有人能帮忙。
最佳答案
似乎您需要获取那些第二级元素,其中它们可能包含具有给定条件的thirdLevelList
firstLevelList.getMySecondList()
.stream()
.filter(x -> x.getThirdLevelList().stream().anyMatch(y -> y.getMyConditionObject().equals("test"))
.map(x -> x.getTest())
.collect(Collectors.toList())