1. 程式人生 > >System.arraycopy實現刪除元素

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