我有一个像这样的方法,我正在使用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());
}
Run Code Online (Sandbox Code Playgroud)
假设一个Member类有一个子成员列表,总是初始化为一个空列表.这里我正在做的是将成员的分层列表转换为平面列表.我明白那一部分.我不明白的是递归是如何工作的.
在递归中,当满足某些条件时它会终止.但在这里,我没有给出故意终止的任何条件.那么终止部分如何在这里工作?
有没有办法仅在 chrome 开发工具中创建har带有xhr请求的文件?
尽管我可以在开发工具中过滤请求,但当我将其保存为 har 文件时,它包含所有请求。
如果 dev devtools 不支持,是否有其他方法可以做到这一点?
我有一个list像下面这样的层次结构,我想把它转换成一个单位list.
我写了一个方法convertToFlatList,并使用过它.但最终结果中缺少一些元素.我做错了什么?
还有比我用来将列表转换为平面列表的方式更好的方法吗?
我添加了一个示例代码,类似于我在场景中使用的对象.最终结果应为1,2,3,4,5,6,7
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
Member memberOne = new Member(1);
Member memberTwo = new Member(2);
Member memberThree = new Member(3);
Member memberFour = new Member(4);
Member memberFive = new Member(5);
Member memberSix = new Member(6);
Member memberSeven = new Member(7);
memberTwo.setChildren(Arrays.asList(memberThree, memberFour));
memberFour.setChildren(Arrays.asList(memberFive, memberSix));
List<Member> memberList = Arrays.asList(memberOne, memberTwo, memberSeven);
List<Member> flatList = new ArrayList<>();
List<Member> convertedList = convertToFlatList(memberList, …Run Code Online (Sandbox Code Playgroud)