gpt4 book ai didi

java - 将二维数组转换为一维数组

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

这是我目前的代码:

 public static int mode(int[][] arr) {
ArrayList<Integer> list = new ArrayList<Integer>();
int temp = 0;
for(int i = 0; i < arr.length; i ++) {
for(int s = 0; s < arr.length; s ++) {
temp = arr[i][s];

此时我似乎被困在如何将 [i][s] 放入一维数组中。当我执行 print(temp) 时,我的二维数组的所有元素一次按顺序打印一个,但无法弄清楚如何将它们放入一维数组中。我是新手:(

如何将二维数组转换为一维数组?

我目前使用的二维数组是 3x3。如果该背景很重要,我试图找到二维数组中所有整数的数学模式。

最佳答案

在 Java 8 中,您可以使用对象流将矩阵映射到 vector 。

将任意类型和任意长度的对象矩阵转换为 vector (数组)

String[][] matrix = {
{"a", "b", "c"},
{"d", "e"},
{"f"},
{"g", "h", "i", "j"}
};

String[] array = Stream.of(matrix)
.flatMap(Stream::of)
.toArray(String[]::new);

如果您正在寻找特定于 int 的方式,我会选择:

int[][] matrix = {
{1, 5, 2, 3, 4},
{2, 4, 5, 2},
{1, 2, 3, 4, 5, 6},
{}
};

int[] array = Stream.of(matrix) //we start with a stream of objects Stream<int[]>
.flatMapToInt(IntStream::of) //we I'll map each int[] to IntStream
.toArray(); //we're now IntStream, just collect the ints to array.

关于java - 将二维数组转换为一维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8935367/

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