gpt4 book ai didi

java - 在特定位置初始化另一个数组时使用数组

转载 作者:行者123 更新时间:2023-12-02 02:36:15 24 4
gpt4 key购买 nike

我有一个整数数组。int[] arr1 = new int[] {3,4,5};。我想在初始化另一个数组时插入这个数组。这样当int[] arr2 = new int[] {8, 7, arr1, 1, 0};,arr2 将等于 {8, 7, 3, 4, 5, 1, 0} .

另外,我不知道 arr1 的长度,所以我无法执行 int[] arr2 = new int[] {8, 7, arr1[0], arr1 [1], arr1[2], 1, 0};

非常感谢任何帮助。

最佳答案

遗憾的是,据我所知,这样的事情无法在一次操作中完成。我能想到的最好办法是创建一个 result 数组。然后将 arr2 的第一部分、整个 arr1 复制到其中,最后复制到 arr2 的第二部分。最后整个方法看起来像这样:

private static int[] insertArrayAtPosition(int[] arr1, int[] arr2, int insertPos){
int[] result = new int[arr1.length + arr2.length];
System.arraycopy(arr2, 0, result, 0, insertPos);
System.arraycopy(arr1, 0, result, insertPos, arr1.length);
System.arraycopy(arr2, insertPos, result, insertPos + arr1.length, arr2.length - insertPos);
return result;
}

然后你可以像这样调用它:

public static void main(String args[]) {
int[] arr1 = new int[] {3, 4, 5};
int[] arr2 = new int[] {8, 7, 1, 0};
int[] result = insertArrayAtPosition(arr1, arr2, 2);
System.out.println(Arrays.toString(result));
}

编辑:Milgo 的解决方案看起来好多了。但是,我的允许在创建数组后将一个数组插入到另一个数组的特定位置。使用哪一种取决于用例。

关于java - 在特定位置初始化另一个数组时使用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64276805/

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