import java.util.Iterator; /* VaarArray er en klasse som tar vare på elemener av typen T. */ class VaarArray implements Iterable { T [] arr; public VaarArray(int strl) { arr = (T[]) new Object[strl]; } //Finner ledig plass og setter inn. Hvis det er plass returneres true, //hvis det er fullt returneres false public boolean settInn(T elem) { for (int i = 0; i < arr.length; i++) { if (arr[i] == null) { arr[i] = elem; System.out.println("Satte inn " + elem); return true; } } return false; // ikke var noen ledige plasser } //Returnerer true dersom det var mulig å fjerne, false ellers. public boolean fjernFraIndex(int n) { // Er n en lovlig indeks? if (n < 0 || n >= arr.length) { return false; } if (arr[n] != null) { System.out.println("Fjernet " + arr[n]); arr[n] = null; return true; } return false; } public Iterator iterator() { return new ArrayIterator(); } private class ArrayIterator implements Iterator{ //variabler..? int pos = 0; public boolean hasNext() { for (int i = pos; i < arr.length; i++) { if (arr[i] != null) { return true; } } // fant ingen ledige plasser return false; } public T next() { for (int i = pos; i < arr.length; i++) { if (arr[i] != null) { pos++; return arr[i]; } } return null; } } }