gpt4 book ai didi

Java:如何编写 `zip` 函数?返回类型应该是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:32 25 4
gpt4 key购买 nike

zip 函数的返回类型应该是什么? (zip 与大多数其他语言一样,例如 read here )

我考虑过一些 Pair 类型,但在 Java 中不存在。人们经常说这是因为专门的 Pair-class 比一般的更好(参见 this 问题)。但是,这在一般的 zip 函数中是不可能的。

最佳答案

由于您似乎决心忽略具有多年 Java 经验的人,因此这里是与 python 中的 zip 函数功能相同的代码。

public static <T> List<List<T>> zip(List<T>... lists) {
List<List<T>> zipped = new ArrayList<List<T>>();
for (List<T> list : lists) {
for (int i = 0, listSize = list.size(); i < listSize; i++) {
List<T> list2;
if (i >= zipped.size())
zipped.add(list2 = new ArrayList<T>());
else
list2 = zipped.get(i);
list2.add(list.get(i));
}
}
return zipped;
}

public static void main(String[] args) {
List<Integer> x = Arrays.asList(1, 2, 3);
List<Integer> y = Arrays.asList(4, 5, 6);
List<List<Integer>> zipped = zip(x, y);
System.out.println(zipped);
}

打印

[[1, 4], [2, 5], [3, 6]]

关于Java:如何编写 `zip` 函数?返回类型应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3833814/

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