public class ArrayListDemo { public int size=0;//当前数组容量 public int capacity=2;//默认容量 public Object[] objects = new Object[capacity]; public ArrayListDemo() { } public void add(Object object) { //检查数组是否已经装满,如果数组装满,数组容量扩大一倍 if(capacity==size){ capacity = this.capacity*2; objects = Arrays.copyOf(objects,capacity); } //添加数据 objects[size++]=object; } public void delete(Object object) {//删除指定元素 //遍历数组 int temp = 0; for(int i = 0;i<size;i++){ if(object==objects[i]){ temp = i; break; } } for(int j=temp;j<size;j++){ objects[temp]=objects[temp+1]; } size--; // System.arraycopy(objects, temp+1, objects, temp, size-temp); // size--; } @Override public String toString() {//重写方法 String str = "["; for (int i = 0;i<size;i++){ str=str+" "+objects[i]; } str=str+" "+"]"; return str; } public void set(int i, Object object) {//修改数组 if(i<0||i>capacity){ System.out.println("超出数组大小"); } for(int j=0;j<capacity;j++){ if(i==j){ objects[i-1]=object; break; } } } }
public class ArrayListTest { public static void main(String[] args) { ArrayListDemo arrayListDemo = new ArrayListDemo(); arrayListDemo.add(1); arrayListDemo.add("AA"); arrayListDemo.add("##"); arrayListDemo.add(6); arrayListDemo.add(5); System.out.println(arrayListDemo.size);//测试数组当前元素数量 System.out.println(arrayListDemo);//测试查询 //arrayListDemo.delete(6);//测试删除 //System.out.println(arrayListDemo); //arrayListDemo.set(3,"hello");//测试修改 //System.out.println(arrayListDemo); } }