使用System.arraycopy,参数中目标数组和原数组置为同一个,可以实现删除元素(实际上还是数组的拷贝)
public class TestSystemArrayCopy<T> {
public static void main(String[] args) {
TestSystemArrayCopy<Integer> t = new TestSystemArrayCopy<>();
Integer[] arr = new Integer[]{1,2,3,4};
t.remove(arr, 0);
System.out.println(Arrays.toString(arr));
}
//使用System.Copy,参数中目标数组和原数组置为同一个,可以实现删除元素(实际上还是数组的拷贝)
public T[] remove(T[] arr, int index){
if (index+1 < arr.length){
System.arraycopy(arr, index+1, arr, index, arr.length-index-1);
}
arr[arr.length-1] = null;
return arr;
}
}