java超级数组的实现

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]); //  } // } }

posted @ 2014-04-20 22:28  lichoa  阅读(407)  评论(0编辑  收藏  举报