import java.util.Iterator; import java.util.NoSuchElementException; 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) { // ledig plass arr[i] = elem; System.out.println("Satte inn " + elem.toString()); return true; } } // Hvis jeg kom meg gjennom, så var det ikke ledig plass System.out.println("Fikk ikke satt inn " + elem.toString()); return false; } //Returnerer true dersom det var mulig å fjerne, false ellers. public boolean fjernFraIndex(int n) { // Ugyldig indeks if (n < 0 || n > arr.length) { return false; } if (arr[n] != null) { // fant et element System.out.println("Fjernet " + arr[n]); arr[n] = null; return true; } // arr[n] == null 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) { // Fant et element return true; } } return false; } public T next() { for (int i = pos; i < arr.length; i++) { if (arr[i] != null) { T retur = arr[i]; pos++; return retur; } } return null; } } }