我正在尝试从列表中构建地图。我的目标是比较两个列表并发现这两个列表之间的差异。然后,我想构建一个地图,以便知道我在哪个索引中发现了差异。
我是用 Java 做的,我相信不是很好,但它确实有效。
//I compare the two values for a given index, if value are the same, I set null in my result list
List<String> result = IntStream.range(0, list1.size()).boxed()
.map(i -> list1.get(i) != list2.get(i) ? (list1.get(i) + " != "+ list2.get(i)) : null)
.collect(Collectors.toList());
//I filter all the null values, in order to retrieve only the differences with their index
Map<Integer, String> mapResult =
IntStream.range(0, result.size())
.boxed().filter(i-> null != result.get(i))
.collect(Collectors.toMap(i -> i,result::get));
这不是最佳的,但它正在工作。如果您对这些代码行有任何建议,我很乐意接受。
我在 Kotlin 中尝试了两次复制这种行为,但我没有成功使用 map() 构造函数。(我还在学习Kotlin,不是很熟悉)。
谢谢您的帮助。
鸿蒙传说
相关分类