鍍金池/ 問答/Java  影視/ 數(shù)組跟list的使用

數(shù)組跟list的使用

Person[] p = new Person[10];//Person是自定義的一個類型
ArrayList<Person> pList = new ArrayList<Person>();

上邊的p跟pList都能用來存放person類型的數(shù)據(jù),怎么選擇?
ArrayList可以實現(xiàn)的功能數(shù)組也能實現(xiàn),為啥會有ArrayList呢?

回答
編輯回答
幼梔
ArrayList底層就是Object數(shù)組
 transient Object[] elementData
不過它可以動態(tài)擴容,這是它的擴容方法
 private void grow(int minCapacity) {
        // overflow-conscious code
        int oldCapacity = elementData.length;
        int newCapacity = oldCapacity + (oldCapacity >> 1);
        if (newCapacity - minCapacity < 0)
            newCapacity = minCapacity;
        if (newCapacity - MAX_ARRAY_SIZE > 0)
            newCapacity = hugeCapacity(minCapacity);
        // minCapacity is usually close to size, so this is a win:
        elementData = Arrays.copyOf(elementData, newCapacity);
    }
2017年3月8日 06:57