gpt4 book ai didi

java - 在 Java 中将二维数组(数字)转换为维数组,反之亦然

转载 作者:行者123 更新时间:2023-11-30 05:17:04 25 4
gpt4 key购买 nike

我现在需要帮助。我需要在 Java 中将二维数字数组转换为一维数组。谁能帮我吗?

最佳答案

你的意思是这样吗?

import java.util.*; 

public class Test {
public static void main(String[] args) {
String[][] data = new String[][] {
{ "Foo", "Bar" },
{ "A", "B" }
};

String[] flattened = flatten(data);

for (String x : flattened) {
System.out.println(x);
}
}

public static <T> T[] flatten(T[][] source) {
int size = 0;
for (int i=0; i < source.length; i++) {
size += source[i].length;
}

// Use the first subarray to create the new big one
T[] ret = Arrays.copyOf(source[0], size);
int index = source[0].length;
for (int i=1; i < source.length; i++) {
System.arraycopy(source[i], 0, ret, index, source[i].length);
index += source[i].length;
}
return ret;
}

}

如果您希望将其用于基本类型,则必须为每个基本类型编写一个重载,但您可以使用 new int[size] 而不是 Arrays.copyOf 此时。

关于java - 在 Java 中将二维数组(数字)转换为维数组,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/663632/

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