???????????
????ArrayList?????List?????????????????????????????????????????????????null????????????????????????δ?????????????Vector????????????ArrayList?????????????capacity???????????????????С????????洢?????????????????????????????????????????????????????????????????????????С?????????????Java???????????????????????????????????????Object???飬???????????κ?????????

????size()?? isEmpty()?? get()?? set()??????????????????????add()????????儷????????λ???й??addAll()????????儷??????????????????????????????????????
????????Ч???ArrayList???????????synchronized?????????????????????????????????????????????Vector?????
????????????
????set()
???????????????????ArrayList??set()???????÷??????????????????λ???????ɡ?
????public E set(int index?? E element) {
????rangeCheck(index);//?±??????
????E oldValue = elementData(index);
????elementData[index] = element;//????????λ?????????????????
????return oldValue;
????}
????get()
????get()???????????????????????????????Object[]?????????????????????????
????public E get(int index) {
????rangeCheck(index);
????return (E) elementData[index];//??????????
????}
????add()
??????C++ ??vector?????ArrayList???bush_back()????????????????add(E e)??ArrayList????insert()????????????????add(int index?? E e)?????????????????????????????????????????capacity??????????????????????????????????飬??????????????????????????????grow()?????????
????private void grow(int minCapacity) {
????int oldCapacity = elementData.length;
????int newCapacity = oldCapacity + (oldCapacity >> 1);//?????3??
????if (newCapacity - minCapacity < 0)
????newCapacity = minCapacity;
????if (newCapacity - MAX_ARRAY_SIZE > 0)
????newCapacity = hugeCapacity(minCapacity);
????elementData = Arrays.copyOf(elementData?? newCapacity);//??????????
????}
????????Java GC???????????棬???????????????????????????

?????????????????????????÷??????

????add(int index?? E e)??????????????????????????????????ζ??÷??????????????臨????
????addAll()
????addAll()???????????????????????λ?ò??????????????????????β????addAll(Collection<? extends E> c)???????????????λ?????????addAll(int index?? Collection<? extends E> c)????????add()???????????????????????п???飬????????????????????????λ?ò?????????????????????
????addAll()????臨????????????????????й??????????λ??????
????remove()
????remove()????????????汾???????remove(int index)??????λ??????????????remove(Object o)????????????o.equals(elementData[index])???????????????add()??????????????????????????????????????λ?á???????????????GC??????????????????????λ???null???
????public E remove(int index) {
????rangeCheck(index);
????modCount++;
????E oldValue = elementData(index);
????int numMoved = size - index - 1;
????if (numMoved > 0)
????System.arraycopy(elementData?? index+1?? elementData?? index?? numMoved);
????elementData[--size] = null; //?????λ??????????GC??????
????return oldValue;
????}
????????Java GC???????????????£????????????????????ζ??????????????й??????????GC???????????????????????????????????????????null???????????λ?????????????????????????????????????