rendered paste body
PseudoList<Integer> pl = new PseudoList<Integer>(new Integer[] {1,2,3});
//works:
for (Iterator<Integer> iter = pl.iterator(); iter.hasNext(); ) {
Integer var = iter.next();
System.out.println(var);
}
// doesn't work:
for (Integer i: pl) {
System.out.println(i);
}
//classes:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
class PseudoIterator<T> implements Iterator {
T[] list;
Integer indx;
public PseudoIterator(T[] original) {
list = original;
indx = -1;
}
@Override
public boolean hasNext() {
return indx+1 < list.length;
}
@Override
public T next() {
return list[++indx];
}
@Override
public void remove() {
// TODO Auto-generated method stub
}
}
public class PseudoList<T> implements Collection {
T[] list;
public PseudoList(T[] original) {
list = original;
}
@Override
public Iterator iterator() {
// TODO Auto-generated method stub
return new PseudoIterator<T>(this.list);
}
@Override
public boolean add(Object arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean addAll(Collection arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public void clear() {
// TODO Auto-generated method stub
}
@Override
public boolean contains(Object arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean containsAll(Collection arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean remove(Object arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean removeAll(Collection arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean retainAll(Collection arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public int size() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object[] toArray() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object[] toArray(Object[] arg0) {
// TODO Auto-generated method stub
return null;
}
}