java - 从一维数组自动生成可变大小的二维数组
问题描述
我正在寻找一些关于如何创建基于两个参数生成二维数组的方法的建议,一个整数 s 将指示二维数组的行数,而 int x[] 将是长度为 20 的不同一维数组将填充二维数组的每一行。到目前为止,这是我想出的方法,但它只用 0 填充每一行,只有一行填充了输入数组。我基本上需要用一堆相同大小的一维数组填充自动生成的二维数组的每一行。请帮忙。谢谢 !
public class c {
public int [][] f;
public int [][] a(int x[], int s){
f = new int [s][20];
for(int j = 0; j < x.length; j++) {
f[s-1][j] = x[j];
}
return f;
}
public void d(){
for (int i =0; i < f.length; i++) {
for(int j = 0; j < f[i].length; j++) {
System.out.print(f[i][j] + " ");
}
System.out.println(" ");
}
}
}
解决方案
这可以在java中使用stream api来实现
int[][] arrInt = { { 1, 2 }, { 3, 4, 5 } };
int result[] = Arrays.stream(arrInt).flatMapToInt(Arrays::stream).toArray();
System.out.println(Arrays.toString(result));
推荐阅读
- kubernetes - 使用负载均衡器在 GCP 上进行袜子商店
- python - 如何检查 a.keys() 中是否存在“0,1,2”,如果不存在则添加“0,1,2”?
- python - TypeError: cursor() 使用 flaskext.mysql 得到了一个意外的关键字参数“字典”
- postgresql - 重复计算曲目数量
- c - C fscanf 读取同一行两次?
- flutter - Flutter 的 kernel_blob.bin 是什么?
- javascript - Chrome 扩展将值从 Background.js 保存到存储中并在 popup.html 上显示
- ios - 使用 swift 从 Hyperledger iroha 创建新帐户时出错
- php - 将文本文件解析为数组,然后根据字符串的一部分对其进行操作
- java - GLCanvas 和 JFrame 如何协同工作?