import java.util.Iterator; public class VaksineKoe> implements PListe, Iterable{ Node start; @Override public void leggTil(T t) { Node nyNode = new Node<>(t); if (start == null) { start = nyNode; return; } else if (start.verdi.compareTo(t) <= 0) { nyNode.neste = start; start = nyNode; return; } Node iter = start; while (iter.neste != null && iter.neste.verdi.compareTo(t) > 0) { iter = iter.neste; } nyNode.neste = iter.neste; iter.neste = nyNode; } @Override public T fjern() { if (start == null) { throw new IndexOutOfBoundsException(); } T fjernes = start.verdi; start = start.neste; return fjernes; } public void skrivUt() { Node iter = start; while (iter != null) { System.out.println(iter.verdi); iter = iter.neste; } } public VaksineKoeIterator iterator() { return new VaksineKoeIterator(this); } } class VaksineKoeIterator> implements Iterator { private Node iter; VaksineKoeIterator(VaksineKoe vk) { iter = vk.start; } @Override public T next() { T utData = iter.verdi; iter = iter.neste; return utData; } @Override public boolean hasNext() { return iter != null; } } class Node { T verdi; Node neste; Node (T t) { verdi = t; } }