/** * Pasient-klassen */ public class Pasient implements Comparable { private String beskrivelse; private int prioritet; public Pasient(String beskrivelse, int prioritet) { this.beskrivelse = beskrivelse; this.prioritet = prioritet; } public int compareTo(Pasient annen) { return prioritet - annen.prioritet; } // Alternativ løsning til metoden over // public int compareTo(Pasient annen) // { // if (prioritet < annen.prioritet) // { // return -1; // } // else if (prioritet == annen.prioritet) // { // return 0; // } // else // (prioritet > annen.prioritet) // { // return 1; // } // } @Override public String toString() { return prioritet + ": " + beskrivelse; } } /** * Linje- og Stopp-klassen */ import java.util.Iterator; public class Linje implements Iterable { private Stopp start; public Linje(String navn) { start = new Stopp(navn); } public void leggTilStopp(String navn) { Stopp sisteStopp = start; while (sisteStopp.nesteStopp != null) { sisteStopp = sisteStopp.nesteStopp; } Stopp nyttStopp = new Stopp(navn); sisteStopp.nesteStopp = nyttStopp; } class Stopp { private Stopp nesteStopp; private String navn; public Stopp(String navn) { this.navn = navn; } @Override public String toString() { return navn; } } public Iterator iterator() { return new Linjeiterator(); } class Linjeiterator implements Iterator { private Stopp nesteStopp = start; public boolean hasNext() { return nesteStopp != null; } public Stopp next() { Stopp midlertidig = nesteStopp; nesteStopp = nesteStopp.nesteStopp; return midlertidig; } } public static void main(String[] args) { Linje linje1 = new Linje("Frognerseteren"); String[] stoppnavn = { "Voksenkollen", "Lillevann", "Skogen", "Voksenlia", "Holmenkollen", "Besserud", "Midtstuen", "Skådalen", "Vettakollen", "Gulleråsen", "Gråkammen", "Slemdal", "Ris", "Gaustad", "Vinderen", "Steinerud", "Frøen", "Majorstuen", "Nationaltheatret", "Stortinget", "Jernbanetorget", "Grønland", "Tøyen", "Ensjø", "Helsfyr" }; for (String navn : stoppnavn) { linje1.leggTilStopp(navn); } System.out.println("Linje 1 fra Frognerseteren til Helsfyr består av stoppene:"); for (Stopp stopp : linje1) { System.out.println(stopp); } } }