list不通過add方法新增元素,用什麼方法
阿新 • • 發佈:2019-02-04
public interface List<E> extends Collection<E>是介面,不能直接使用,必須由它的實現子類才能使用。
set(index, obj);方法某些時候可以實現新增新元素。
以下是ArrayList的set原始碼部分:
/** * Replaces the element at the specified position in this list with * the specified element. *使用element替代list中指定位置的element * @param index index of the element to replace * @param element element to be stored at the specified position * @return the element previously at the specified position * @throws IndexOutOfBoundsException {@inheritDoc} */ public E set(int index, E element) { RangeCheck(index);//邊界查詢,判斷index是否越界 E oldValue = (E) elementData[index];//取出index位置的元素 elementData[index] = element;//替換指定位置的元素 return oldValue;//返回被替換的元素 }
set方法的含義:用指定的元素替代此列表中指定位置上的元素。如果指定位置是為空,那麼就相當於add(int index, E element)方法,新增新元素到list中,如果這個index位置上已經存在值,那麼只能是替換原有值。