/**
* 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);
}
}
}