import java.util.Iterator;

public class PositiveALIterator implements Iterator<Integer> {
    ArrayList<Integer> list;
    int index;

    PositiveALIterator(ArrayList<Integer> inList) {
        list = inList;
        index = 0;
        while(index < list.size() && list.get(index) <= 0) {
            index++;
        }
    }

    public boolean hasNext() {
        return index < list.size();
    }

    public Integer next() {
        Integer ret = list.get(index);
        do {
            index++;
        }while(index < list.size() && list.get(index) <= 0);
        return ret;
    }

    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(-1);
        list.add(-2);
        list.add(3);
        list.add(4);
        list.add(-1);
        list.add(-3);
        list.add(7);
        list.add(9);
        list.add(-1);
        list.add(-1);
        list.add(100);

        Iterator<Integer> it = new PositiveALIterator(list);

        while(it.hasNext()) {
            System.out.println(it.next());
        }

    }
    
}
