我需要根据条件返回匹配的对象。我有这个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())

08-05 13:51