Arraylist集合 -----添加方法
1、add(E e) 向集合中添加元素
/*** 檢查數組容量是否夠用* @param minCapacity*/public void ensureCapacity(int minCapacity){modCount++;int oldCapacity = elementData.length;if(minCapacity > oldCapacity){Object oldData[] = elementData;int newCapacity = (oldCapacity * 3)/2+1;if(newCapacity < minCapacity){newCapacity = minCapacity;elementData = Arrays.copyOf(elementData, newCapacity);}}}
/* (non-Javadoc)* 向ArrayList中添加元素* @see java.util.AbstractList#add(java.lang.Object)*/public boolean add(E e){ensureCapacity(size+1);elementData[size++] = e;return true;}
java創建arraylist集合? 2、add(int? index ,E e) 向集合的指定索引處添加元素
/*** Inserts the specified element at the specified position in this* list. Shifts the element currently at that position (if any) and* any subsequent elements to the right (adds one to their indices).** @param index index at which the specified element is to be inserted* @param element element to be inserted* @throws IndexOutOfBoundsException {@inheritDoc}*/public void add(int index, E element) {if (index > size || index < 0)throw new IndexOutOfBoundsException("Index: "+index+", Size: "+size);ensureCapacity(size+1); // Increments modCount!!System.arraycopy(elementData, index, elementData, index + 1,size - index);elementData[index] = element;size++;}
3、addAll(Collection< ? extends E> c) 添加集合
java集合框架三要素。
/* * 添加元素集合* (non-Javadoc)* @see java.util.AbstractCollection#addAll(java.util.Collection)*/public boolean addAll(Collection<? extends E> c){Object[] a = c.toArray();int numNew = a.length;ensureCapacity(size+numNew);System.arraycopy(a, 0, elementData, size, numNew);size+=numNew;return numNew!=0;}
4、addAll(int index, Collection<? extends E> c); 在指定索引出添加集合
public boolean addAll(int index, Collection<? extends E> c) {if (index > size || index < 0)throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);Object[] a = c.toArray();int numNew = a.length;ensureCapacity(size + numNew); // Increments modCountint numMoved = size - index;if (numMoved > 0)System.arraycopy(elementData, index, elementData, index + numNew,numMoved);System.arraycopy(a, 0, elementData, index, numNew);size += numNew;return numNew != 0;}
java常用框架。