package com.coding.basic; public class ArrayList { private int size = 0; private Object[] elementData = new Object[100]; //在ArrayList的尾部添加 public void add(Object o){ size = elementData.length + 1; Object[] tempData = new Object[size]; System.arraycopy(elementData, 0, tempData,0, elementData.length); elementData = tempData; elementData[size-1] = o; } //在ArrayList中的某一个元素后面添加, 这里的关键在于先移动末尾的元素 public void add(int index, Object o){ size = elementData.length + 1; Object[] tempData = new Object[size]; System.arraycopy(elementData, 0, tempData,0, elementData.length); elementData = tempData; for (int i=elementData.length-2; i>index; i--) { elementData[i+1] = elementData[i]; } elementData[index+1] = o; } //按下标来访问ArrayList中的元素 public Object get(int index){ return elementData[index]; } //按下标来删除ArrayList中的元素 public Object remove(int index){ Object r = elementData[index]; for (int i=index; i<elementData.length-1; i++) { elementData[i] = elementData[i+1]; } size = elementData.length - 1; Object[] tempData = new Object[size]; System.arraycopy(elementData, 0, tempData,0, size); elementData = tempData; return r; } //获取ArrayList的大小 public int size(){ return size; } //public Iterator iterator(){ // return null; //} }