1
9
10 public class LinListaGen<TYPE> {
11
12
16 static public class Alkio<TYPE> {
17 private TYPE i;
18 private Alkio<TYPE> seuraava;
19 public Alkio(TYPE i) { this.i = i; seuraava = null; }
20 public TYPE getI() { return i; }
21 }
22
23 private Alkio<TYPE> eka;
24 private Alkio<TYPE> viimeinen;
25
26 public LinListaGen() { eka = null; viimeinen = null; }
27 public LinListaGen(int koko) { this(); }
28
29 public void lisaa(TYPE i) {
30 Alkio<TYPE> uusi = new Alkio<TYPE>(i);
31 if ( eka != null ) viimeinen.seuraava = uusi;
32 else eka = uusi;
33 viimeinen = uusi;
34 }
35
36 public String toString() {
37 StringBuffer s = new StringBuffer("");
38 for (Alkio<TYPE> i=eka; i!=null; i = i.seuraava )
39 s.append(" " + i.getI());
40 return s.toString();
41 }
42
43 public static void main(String[] args) {
44 LinListaGen<Integer> luvut = new LinListaGen<Integer>();
45 try {
46 luvut.lisaa(0); luvut.lisaa(2);
47 luvut.lisaa(99);
48 } catch ( Exception e ) {
49 System.out.println("Virhe: " + e.getMessage());
50 }
51 System.out.println(luvut);
52 }
53 }
54