porsche911
2/5/2018 - 9:07 AM

JAVA数组动态增加容量

JAVA数组动态增加容量,给数组赋值有两种方法: (1)直接赋值:Arr1[] = {1,2,3,4,5}; (2)直接定义:Arr1[0] = 0; 注:代码并没有真正增加原数组arr的容量,只是将arr内容赋值到newArr中,然后arr重新引用newArr数组,由于java数组存贮在堆中,原数组arr无需释放,可以自动回收。

扩充后数组newArr的容量为:20数组newArr的内容
1 2 3 4 5 6 7 8 9 10 11 12 0 0 0 0 0 0 0 0 数组arr的容量为:20数组arr的内容
1 2 3 4 5 6 7 8 9 10 11 12 0 0 0 0 0 0 0 0 

public class Table {
    int [] arr = {1,2,3,4,5,6,7,8,9,10};
    //需要扩大arr
    int [] newArr = new int[arr.length*2];//增加数组容量
    public void test(){
        for (int i =0;i<arr.length;i++){
            newArr[i]=arr[i];
        }
        newArr[10] =11;
        newArr [11]=12;//新数组新增元素
    \!h    arr=newArr;//改变引用
        System.out.println("扩充后数组newArr的容量为:"+newArr.length+"数组newArr的内容");
        for (int j : newArr)
            System.out.print(j+" ");
        System.out.println("数组arr的容量为:"+arr.length+"数组arr的内容");
        for (int k : arr)
            System.out.print(k+" ");
    }

    public static void main(String[] args) {
        Table table = new Table();
        table.test();
    }

}