gpt4 book ai didi

Java:联合数组

转载 作者:行者123 更新时间:2023-12-01 10:28:08 25 4
gpt4 key购买 nike

我想在Java中合并两个int数组。我该如何改进代码?也许已经有一个函数可以做到这一点?

public class Unify{
public static void main(String[] argv){
int[] a = {1, 2, 3};
int[] b = {4, 5, 6};
int[] c = mylist(a, b);
for (int x:c)
System.out.println(x);
}
public static int[] mylist(int[] a, int[] b){
int len = a.length + b.length;
int[] c = new int[len];
for(int i = 0; i < a.length; i++)
c[i] = a[i];
for(int i = a.length, j = 0; i < len; i++, j++)
c[i] = b[j];
return c;
}
}

最佳答案

不分先后,您可以使用 Arrays.toString(int[])打印结果。并且,Arrays.copyOf(int[], int) 1 创建新数组并复制 a。最后,System.arraycopy(Object src, int srcPos, Object dest, int destPost, int length)b 复制到 c 中。比如,

public static void main(String[] argv) {
int[] a = { 1, 2, 3 };
int[] b = { 4, 5, 6 };
int[] c = Arrays.copyOf(a, a.length + b.length);
System.arraycopy(b, 0, c, a.length, b.length);
System.out.println(Arrays.toString(c));
}

输出为(成功指示复制的数组c)

[1, 2, 3, 4, 5, 6]

1Javadoc(部分)说 copyOf 返回原始数组的副本,截断或用零填充以获得指定的长度

关于Java:联合数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35248866/

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