package chao.li.superArray;
public class SuperArray { //定义一个长度为1的Object类型数组 private Object objt [] = new Object[0] ; //记数组下标 private int index = 0; public SuperArray(){ //无参 } //增加 public void add(Object obj){ //如果index小于数组长度, if(index < objt.length){ this.objt[index] = obj; index++; }else{ //index大于objt,重定一个数组并将objt的内容考到新数组K上 Object obj1 [] = new Object[index +1]; System.arraycopy(objt, 0, obj1, 0, objt.length); //将新数组的地址给objt数组 this.objt = obj1; //调用add方法继续存储 this.add(obj); } } //根据下标值删除超级数组中的元素 public void remove(int index){ //判断输的小于组数的长度 if(index < objt.length){ //将要删除的的元素移到数组最后一位 for(int i = index ; i < this.objt.length ; i++){ if(i +1 < this.objt.length){ this.objt[i] = this.objt[i+1]; } } //创建一个新的数组将原数组减去最后一位考到新数组中 Object obj2 [] = new Object[this.index -1]; System.arraycopy(objt, 0, obj2, 0, objt.length-1); //将新数组的地址交给objt数组 this.objt = obj2; }else { System.out.println("你输入的下标以超出数组的长度"); } } //清空数组元素 public void removeAll(){ Object obj3 [] = new Object[0]; this.objt = obj3; } //获取数组的长度 public int size(){ return objt.length; } //根据下标值获取对应的元素 public Object get(int index){ Object ob = null; if(this.objt[0] != null){ ob = this.objt[index]; } return ob; } //输出数组 // public void print(){ // for(int i = 0 ; i < objt.length ; i++){ // System.out.println(objt[i]); // } // } }