如何将元素添加到数组和移位索引?

2022-09-02 11:12:24

我需要向 Array 添加一个元素来指定位置和值。例如,我有数组

int []a = {1, 2, 3, 4, 5, 6};

应用后应该是addPos(int 4, int 87)

int []a = {1, 2, 3, 4, 87, 5};

我知道这里应该是Array索引的转变,但不知道如何在代码中实现它。


答案 1

执行此操作的最简单方法是使用 a 并使用该方法。ArrayList<Integer>add(int, T)

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);

// Now, we will insert the number
list.add(4, 87);

答案 2

这应该可以解决问题:

public static int[] addPos(int[] a, int pos, int num) {
    int[] result = new int[a.length];
    for(int i = 0; i < pos; i++)
        result[i] = a[i];
    result[pos] = num;
    for(int i = pos + 1; i < a.length; i++)
        result[i] = a[i - 1];
    return result;
}

其中 是原始数组,是插入位置,并且是要插入的数字。aposnum