java中添加数组元素

2019-03-12

public class ArrayTest {
    public static void main(String[] args)
    {
        int[] array = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };
        Arrays.sort(array);
        printArray("数据排序结果为:", array);
        int index = Arrays.binarySearch(array, 1);
        System.out.println("元素 1 所在位置(负数为不存在):"+ index);  
        int newIndex = -index -1;
        array = insertElement(array,1,newIndex);
        printArray("数组添加元素 1", array);
        
    }

    private static void printArray(String message, int[] array)
    {
        System.out.println(message + ":[length: "+ array.length+"]");
        for(int i = 0; i< array.length; i++)
        {
            if(i != 0)
            {
                System.out.print(",");
            }
            System.out.print(array[i]);
        }
        System.out.println();
    }
    private static int[] insertElement(int[] original, int element, int index)
    {
        int length = original.length;
        int[] destination = new int[length + 1];
        //第一次从下标为0的开始复制,长度为length
        System.arraycopy(original, 0, destination, 0, index);
        destination[index] = element;
        //第二次从下标为index开始复制到destination数组的index+1开始,长度为length-index
        System.arraycopy(original, index, destination, index+1, length-index);
        return destination;
    }
}