import java.util.Iterator; class Flygning implements Iterable{ String flightNo; Seterad[] seterader; public Flygning(String flightNo, String seteinfo) { this.flightNo = flightNo; String[] rader = seteinfo.split("|"); seterader = new Seterad[rader.length]; for (int i = 0; i < seterader.length; i++) seterader[i] = new Seterad(rader[i]); } public boolean book(Passasjer pas) { for (int i =0; i iterator() { return new SeteIterator(this); } } class SeteIterator implements Iterator { Flygning f; int radIx, seteIx; public SeteIterator(Flygning f) { this.f = f; this.radIx = 0; this.seteIx = 0; } @Override public boolean hasNext() { return (radIx < f.seterader.length); } @Override public Sete next() { Sete s = f.seterader[radIx].seter[seteIx]; seteIx++; if (seteIx >= f.seterader[radIx].seter.length) { radIx++; seteIx = 0; } return s; } }