gpt4 book ai didi

java - 使用流从元组列表中生成列表元组

转载 作者:行者123 更新时间:2023-11-29 08:23:08 26 4
gpt4 key购买 nike

我正在尝试寻找如何从元组列表创建列表元组。例如

f(list<tuple<u,v>>) => tuple<list<u>,list<v>>

这个用例似乎没有被标准 API 很好地适应。 Other articles说用reduce , 但这不起作用,因为它只会返回与输入类型相同的类型。

In .net我会用 Enumerable.Aggregate实现这一目标。

在 java 中有实现这个功能的方法吗?

最佳答案

Java12 将提供Collectors.teeing 允许应用两个收集器然后合并它们的结果

同时,您可以应用reduce

Tuple<List<U>,List<V>> tupleOfLists = listOfTuples
.stream()
.reduce(
new Tuple<List<U>,List<V>>(new ArrayList<U>(), new ArrayList<V>()),
(tupleOfLists, tuple) -> {
tupleOfLists.left().add(tuple.left());
tupleOfLists.right().add(tuple.right());
return tupleOfLists;
},
(tupleOfLists1, tupleOfLists2) -> {
tupleOfLists1.left().addAll(tupleOfLists2.left());
tupleOfLists1.right().addAll(tupleOfLists2.right());
return tupleOfLists1;
}
);

关于java - 使用流从元组列表中生成列表元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55788277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com