package com.coding.basic;
public class ArrayList implements List {
private int size = 0;
private Object[] elementData = new Object[100];
public void add(Object o) {
elementData[size] = o;
size++;
}
public void add(int index, Object o) {
for (int i = size; i > index; i--) {
elementData[i] = elementData[i - 1];
}
elementData[index] = o;
}
public Object get(int index) {
return elementData[index];
}
public Object remove(int index) {
Object oj = elementData[index];
for (int i = index; i < size; i++) {
elementData[i] = elementData[i + 1];
}
elementData[size--] = null;
return oj;
}
public int size() {
return size;
}
public Iterator iterator() {
return new MyIterator();
}
public class MyIterator implements Iterator {
int i = 0;
@Override
public boolean hasNext() {
while (elementData[i] != null) {
return true;
}
return false;
}
@Override
public Object next() {
return elementData[i++];
}
}
public static void main(String[] args) {
ArrayList a = new ArrayList();
a.add(1);
a.add(2);
a.add(3);
MyIterator b = (MyIterator) a.iterator();
while(b.hasNext()){
System.out.println(b.next());
}
}
}