class MyContainer
{
/**实际存放数据的容器*/
private int[] value = new int[16];
/**索引/数组的长度*/
private int index = 0;
public void add(int val){
if(index == value.length){
int[] temp = new int[value.length*2];
for(int i=0; i<value.length; i++){
temp[i] = value[i];
}
value = temp;
}
value[index++] = val;
}
public int get(int index){
return value[index];
}
public int size(){
return index;
}
public void remove(int index){
boolean flag = false;//标记if语句是否执行
for(int i=0; i<value.length; i++){
//把下一位替换当前位置
if(i>=index && i<this.index-1){
value[i] = value[i+1];
flag = true;
}
//当前索引 == 数组的长度-1,如果我删除的是最后一个元素
if(index == this.index-1){
flag = true;
}
}
if(flag){
this.index--;
}
}
public static void main(String[] args){
MyContainer c = new MyContainer();
//add
for(int i=0; i<20; i++){
c.add(i);
}
c.remove(c.size()-1);
for(int i=0; i<c.size(); i++){
System.out.println(c.get(i));
}
//System.out.println(c.size());
}
} |
|