java中添加数组元素
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;
}
}