1   /**
2    * Esimerkki linkitetytstä listasta
3    * @author Vesa Lappalainen
4    * @version 1.0, 16.03.2002
5    */
6   
7   public class LinLista {
8   
9     /**
10     * Linkitetyn listan yksi alkio.  Sisältää datan ja viitteen seuraavaan.
11     */
12    static public class Alkio {
13      private int i;
14      private Alkio seuraava;
15      public Alkio(int i) { this.i = i; seuraava = null; }
16      public int getI() { return i; }
17    }
18  
19    private Alkio eka;
20    private Alkio viimeinen;
21  
22    public LinLista() { eka = null; viimeinen = null; }
23    public LinLista(int koko) { this(); }
24  
25    public void lisaa(int i) {
26      Alkio uusi = new Alkio(i);
27      if ( eka != null ) viimeinen.seuraava = uusi;
28      else eka = uusi;
29      viimeinen = uusi;
30    }
31  
32    public String toString() {
33      StringBuffer s = new StringBuffer("");
34      for (Alkio i=eka; i!=null; i = i.seuraava )
35        s.append(" " + i.getI());
36      return s.toString();
37    }
38  
39    public static void main(String[] args) {
40      LinLista luvut = new LinLista();
41      try {
42        luvut.lisaa(0); luvut.lisaa(2);
43        luvut.lisaa(99);
44      } catch ( Exception e ) {
45        System.out.println("Virhe: " + e.getMessage());
46      }
47      System.out.println(luvut);
48    }
49  }
50