递归如何与 Java 8 Stream 配合使用?
2022-09-03 13:28:35
我有一个这样的方法,我将递归与Streams一起使用:
private static List<Member> convertToFlatList(List<Member> memberList)
{
return memberList.stream().flatMap(i -> Stream.concat(Stream.of(i), convertToFlatList(i.getChildren()).stream())).collect(Collectors.toList());
}
假设一个类有一个成员的子列表,该列表始终初始化为空列表。在这里,我正在做的是将成员的分层列表转换为平面列表。我理解这一部分。我不明白的是递归在这里是如何工作的。Member
在递归中,当满足某些条件时,它将终止。但在这里,我没有给出任何故意终止的条件。那么,端接部分在这里是如何工作的呢?