System.arraycopy实现删除元素

使用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;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37755661/article/details/84202294