package com.coding.basic;
import java.util.Arrays;
public class ArrayListTest implements ListTest{
private Object[] obj;
public ArrayListTest() {
obj=new Object[0];
}
public void add(Object o) {
obj = Arrays.copyOf(obj, obj.length+1);
obj[obj.length-1]=o;
}
public void add(int index, Object o) {
obj = Arrays.copyOf(obj, obj.length+1);
for(int i=index;i<obj.length-1;i++){
obj[i+1]=obj[i];
}
obj[index]=o;
}
public Object get(int index) {
return obj[index];
}
public Object remove(int index) {
Object o=obj[index];
for(int i=index;i<obj.length-1;i++){
obj[i]=obj[i+1];
}
obj[obj.length-1]=null;
obj=Arrays.copyOf(obj, obj.length-1);
return o;
}
public int size() {
return obj.length;
}
public Its getIts(){
Its its=new Its();
return its;
}
class Its implements IteratorTest{
int count=0;
public boolean hasNext() {
if(count<=size()-1){
return true;
}else{
return false;
}
}
public Object next() {
Object obj = get(count);
count++;
return obj;
}
}
}