Николай Asked:2020-08-30 01:20:00 +0000 UTC2020-08-30 01:20:00 +0000 UTC 2020-08-30 01:20:00 +0000 UTC 向非空数组添加元素 772 如何将元素添加到非空二维数组?int[][] arr 数组是这样创建的: int[][] arr = new int[][]{{1, 2, 3, 4}, {1, 2, 3}}; java 2 个回答 Voted Андрей Иванов 2020-08-30T01:45:22Z2020-08-30T01:45:22Z 如果你想改变集合的大小,那么最好选择不同的数据结构。如果您真的想要数组,那么您可以再剪切 3 个数组,并通过编写一个包含 4 个数组字段和一个由值确定的 getter / setter 的包装类,有条件地从原始底部、右侧和角落“粘合”它们传入的索引,使用哪个物理数组。它是非常面向 OOP 的,实现封装/隐藏等等在内存/堆上,但谁在乎(除了那些谈论缓存未命中和其他低级魅力的字母),主要的是 OOP 和抽象 :) Best Answer Sasha San 2020-08-30T03:26:39Z2020-08-30T03:26:39Z 假设:有一个第二个数组 int[][] mas = new int[3][3]; 让我们用随机数填充它: for (int i = 0; i < mas.length; i++) { for (int j = 0; j < mas[i].length; j++) { mas[i][j] = (int) (Math.random() * 9 + 1); } } 将整个数组输出到控制台: for (int i = 0; i < mas.length; i++) { for (int j = 0; j < mas[i].length; j++) { System.out.print(mas[i][j] + "\t"); } System.out.println(); } 如果你有这样的地方,那么当然不可能将其他东西推入数组,因为数组最初设置为它的大小并且它的大小不会动态改变。 好吧,如果有第二个数组: int[][] mas = new int[3][3]; 你可以手动放任何你想要的东西:例如: mas[0][0] = 5; mas[1][0] = 6; mas[2][0] = 10; mas[1][1] = 5; mas[1][2] = 7; mas[2][0] = 6; 输出: for (int i = 0; i < mas.length; i++) { for (int j = 0; j < mas[i].length; j++) { System.out.print(mas[i][j] + "\t"); } System.out.println(); } 我们得到: 5 0 0 6 5 7 6 0 0 在存储零的地方,您可以自由放置任何数字。原来这是一个非空数组,你可以放别的东西。
如果你想改变集合的大小,那么最好选择不同的数据结构。如果您真的想要数组,那么您可以再剪切 3 个数组,并通过编写一个包含 4 个数组字段和一个由值确定的 getter / setter 的包装类,有条件地从原始底部、右侧和角落“粘合”它们传入的索引,使用哪个物理数组。它是非常面向 OOP 的,实现封装/隐藏等等在内存/堆上,但谁在乎(除了那些谈论缓存未命中和其他低级魅力的字母),主要的是 OOP 和抽象 :)
假设:有一个第二个数组
让我们用随机数填充它:
将整个数组输出到控制台:
如果你有这样的地方,那么当然不可能将其他东西推入数组,因为数组最初设置为它的大小并且它的大小不会动态改变。
好吧,如果有第二个数组:
你可以手动放任何你想要的东西:例如:
输出:
我们得到:
5 0 0
6 5 7
6 0 0
在存储零的地方,您可以自由放置任何数字。原来这是一个非空数组,你可以放别的东西。