我是java中的数组新手,所以我的问题对你们来说似乎都很简单
我有两个数组:
int[] newarray = new int[] {1,2,3,4}
int[] result = new int[4] // array with space for 4 elements
i=0
我的问题是:如何将newarray中的元素添加到结果中?例如,我如何添加newarray [i]?除非你使用ArrayLists,否则似乎没有像python中那样的添加函数。是否可以将数组中的元素添加到arraylist中,或者它们不能一起工作?希望得到一些澄清:)
答案 0 :(得分:6)
要将i
中的result
元素设置为i
中的newarray
元素,请执行以下操作:
result[i] = newarray[i];
此外,您可以使用arraycopy
复制整个数组:
System.arraycopy(newarray, 0, result, 0, newarray.length);
答案 1 :(得分:1)
使用System.arrayCopy
复制数组。例如:
System.arraycopy(newarray, 0, result, 0, newarray.length)
第一个参数是源数组,然后是源位置,然后是目标数组和目标位置,以及长度。
答案 2 :(得分:1)
int[] newarray = new int[] {1,2,3,4}
int[] result = new int[newarray.length];
for(int i=0;i<newarray.length;i++)
result[i]=newarray[i];
答案 3 :(得分:0)
假设您要将newarray中的第三个值分配给result中的第三个索引。 那就像是:
result[2] = newarray[2]
答案 4 :(得分:0)
在循环中一次复制一个元素或使用System.arraycopy
。
理解Java中的数组就像C中的数组,因为它是固定长度(还有其他类,如ArrayList,用于可变长度)。因此,您不要“添加”新元素,只需将值(x[i] = something;
)分配给现有元素(在创建数组时将其初始化为零)。
据我所知,在ArrayList上没有“添加此数组的所有元素”方法,所以要做到这一点,你必须遍历数组并一次添加一个元素。有方法可以走向另一个方向。
答案 5 :(得分:0)
System.arraycopy(newarray, 0, result, 0, newarray.length);
或者您可以手动执行
for(int i = 0; i < newarray.length; i++) {
result[i] = newarray[i];
}
使用Arrays,您可以使用
Arrays.asList(Object[] a);
答案 6 :(得分:0)
这也应该有效:
Arrays.asList(result).addAll(Arrays.asList(newarray));
返回由指定数组支持的固定大小的列表。 (改为 返回的列表“直写”到数组。)
使用静态导入:
asList(result).addAll(asList(newarray));