Listen

7
September 05 Informatikunterricht 11-1 3 mit Java 1 Listen

description

Listen. Was sind Listen?. Datentypen. Größe des Feldes. int n = (int)(100*Math.random()); Object[] feld = new Object[n];. Merkmale der Flexibilität:. Aber: Länge des Feldes kann sich später nicht mehr den Bedürfnissen anpassen. Ausweg: Datentyp Vector oder eben Listen. 4.1 Was sind Listen?. - PowerPoint PPT Presentation

Transcript of Listen

Page 1: Listen

September 05 Informatikunterricht 11-13 mit Java

1

Listen

Page 2: Listen

September 05 Informatikunterricht 11-13 mit Java

2

Größe des Feldes

Datentypen

Was sind Listen?

int n = (int)(100*Math.random());Object[] feld = new Object[n];

Merkmale der Flexibilität:

Aber: Länge des Feldes kann sich später nicht mehr den Bedürfnissen anpassen.

Ausweg: Datentyp Vector oder eben Listen

Page 3: Listen

September 05 Informatikunterricht 11-13 mit Java

3

4.1 Was sind Listen?

Implementieren Sie die Klasse ElementBenutzen Sie den JavaEditor (UML-Dioagramm Ein)

Page 4: Listen

September 05 Informatikunterricht 11-13 mit Java

4

package listen;public class Element {    protected Object wert;   protected Element naechstes;    public Element(){     wert = null;     naechstes = null;   }   public Element(Object wert){     setWert(wert);     naechstes = null;   }    public Object getWert() {     return wert;   }    public void setWert(Object wert) {     this.wert = wert;   }   public Element getNaechstes() {     return naechstes;   }    public void setNaechstes(Element naechstes) {     this.naechstes = naechstes;   } }

Quelltext

Page 5: Listen

September 05 Informatikunterricht 11-13 mit Java

5

Die abstrakte Liste

Mit dem Element kopf hat man die ganze Liste unter Kontrolle

haengeAn() hängt davon ab wie die Liste konkretisiert wird (LIFO –FIFO)

Klasse Liste ist abstrakt

Implementieren Sie die abstrakte Klasse Liste

Page 6: Listen

September 05 Informatikunterricht 11-13 mit Java

6

Lösung: Quelltext von Liste

package listen;public abstract class Liste {    protected Element kopf;    public Liste() {      kopf = null;   }    public Object getKopfWert() {     return kopf.getWert();   }    public boolean isEmpty(){     return kopf == null;   }    public void loescheElement(){     if (!isEmpty()){       kopf = kopf.getNaechstes();     }   }   public abstract void haengeAn(Object wert);  }

Page 7: Listen

September 05 Informatikunterricht 11-13 mit Java

7

Übung 26.3 und Lösung

Implementieren Sie in der abstrakten Klasse Liste eine nicht abstrakte Methode gebeAus(): void, die die Werte aller Elemente einer Liste mit dem Kopf beginnend, ausgibt. Die Ausgabe soll im Windows Eingabefenster erfolgen.

public void gebeAus(){  Element lauf = kopf;  while(lauf != null){    System.out.println(lauf.getWert());    lauf = lauf.getNaechstes();  }}