【发布时间】:2019-02-05 10:16:32
【问题描述】:
我有两个 vavr 列表:
List<Object> list1 = List.of("one", "two", "three", "for");
List<Object> list2 = List.of("one", "two", List.of("three", "for"));
如何将list2 转换为等于list1?
编辑
我试图解释更多我想要达到的目标:
System.out.println("list1: " + list1);
System.out.println("list2: " + list2);
输出:
list1: List(one, two, three, for)
list2: List(one, two, List(three, for))
我想展平list2中的所有内部列表,所以展平后的列表应该等于list1:
System.out.println("flattened: " + flattened);
System.out.println(list1.equals(flattened));
应该返回:
flattened: List(one, two, three, for)
true
【问题讨论】:
-
你有没有尝试过?
-
当然,我尝试了
map、flatMap和transform,但无法成功。 -
您的要求不清楚。 您必须首先阐明您希望事物如何变得平等。它只是关于扁平化所有内部列表,还是只是你找到的第一个?您会看到:当您为两个列表调用
removeAll时,它们也是相等的。 -
我想展平所有内部列表,所以
list1.equals(list2)应该返回 true。
标签: java collections vavr