用java中的另一个数组更改原始数组

5lhxktic  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(291)

我创建了简单的插入方法来向数组插入值。但在使用该方法之后,我需要一些方法来更改原始数组。例如,我的数组有5个数字。在使用这个插入方法之后,我需要将它改为6个数字。

public class inserting {
    public static void main(String[] args) {
        int a[]={5,3,1,6,7};
        insert(0,10,a);
        //i need to change my array like this = [10, 5, 3, 1, 6, 7] after apply insert method
    }
    static void insert(int pos, int val, int arr[]){
        int newArr[]=new int[(arr.length)+1];
        for(int i=arr.length; i>pos; i--){
            newArr[i]=arr[i-1];
        }
        newArr[pos]=val;
        for(int i=0; i<pos; i++){
            newArr[i]=arr[i];
        }

    }
}

我需要换衣服 a 这样的数组=[10,5,3,1,6,7]在应用插入方法之后

new9mtju

new9mtju1#

你做这件事的方式没有错。只需返回新数组作为返回类型。但您可能需要查看中的方法:
数组
系统.arraycopy
它们有几种方法来帮助复制值。
下面是使用后者的一个例子。

static int[] insert(int pos, int val, int arr[]){
    int newArr[]=new int[(arr.length)+1];
    System.arraycopy(arr,0,newArr, 0, pos);
    newArr[pos] = val;
    System.arraycopy(arr, pos, newArr,pos+1,arr.length-pos);
    return newArr;
}

相关问题