Java/List: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
main>Ugh
main>Ugh
Zeile 2: Zeile 2:
* ??? Wahrscheinlich ist das Positionszähler nicht so gemeint. Er soll anscheinend selbst ein Listenelement sein. Besitzt jemand einen stimmige Quelltext?
* ??? Wahrscheinlich ist das Positionszähler nicht so gemeint. Er soll anscheinend selbst ein Listenelement sein. Besitzt jemand einen stimmige Quelltext?


===Wahrscheinlich falsche Interpretation===
===Mögliche Interüretation===
Realisiert mit ArrayList:
<java>
<java>
// zu den Vorgaben
// vgl. http://www.u-helmich.de/inf/BlueJ/kurs121/seite15/abi-list.html
// Kleine Referen ArrayList
// http://www.u-helmich.de/inf/BlueJ/kurs11/seite06/arrayList.html
// Sun Referenz
// http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html
import java.util.ArrayList;
import java.util.ArrayList;



Version vom 28. August 2006, 10:15 Uhr

Erster Implementierungsansatz

  • ??? Wahrscheinlich ist das Positionszähler nicht so gemeint. Er soll anscheinend selbst ein Listenelement sein. Besitzt jemand einen stimmige Quelltext?

Mögliche Interüretation

Realisiert mit ArrayList: <java> import java.util.ArrayList;

public class List { private ArrayList liste; private int positionszeiger;

public List(){

  liste = new ArrayList(); // die Liste ist leer
  positionszeiger=-1; // der Positionszeiger steht vor der Liste
  insertBehind("Element a");
  insertBehind("Element b");
  insertBehind("Element c");
  insertBehind("Element d");

}

public void insertBefore (Object pObject){

  liste.add(positionszeiger, pObject);
  positionszeiger--;

}

public void insertBehind (Object pObject){

  liste.add(positionszeiger+1, pObject);

}

public void update (Object pObject){

  liste.set(positionszeiger, pObject);

}

public void delete (){

  liste.remove(positionszeiger);

}

public void next(){

  if (positionszeiger!=liste.size()) positionszeiger++;

}

public void previous(){

  if (positionszeiger>-1) positionszeiger--;

}

public void toFirst(){

  positionszeiger=0;

}

public void toLast(){

  positionszeiger=liste.size()-1;

}

public Object getItem(){

  if (liste.size()==0 || positionszeiger==-1 || positionszeiger>=liste.size())
    return null;
  else return liste.get(positionszeiger);

}


public boolean isEmpty (){

  return (liste.size()==0);

}

public boolean isBefore (){

  return (positionszeiger<0);

}

public boolean isBehind (){

  return (positionszeiger>=liste.size());

}

// nicht in den Vorgaben vorgesehener Zusatz public void gibAufKonsoleAus(){

  if (liste.size()==0) System.out.println("Leere Liste");
  else {
      System.out.println("\n*** Liste ***");
      if (positionszeiger==-1) System.out.println("> -1");
      for (int i=0; i<liste.size();i++){
          if (i==positionszeiger) System.out.print("> "+i+":");
          else System.out.print("  "+i+":");
          System.out.println ((String) liste.get(i));
      }
      if (positionszeiger>=liste.size()) System.out.print("> "+positionszeiger);
   }      

}

} </java>

Probleme mit der Implementierung

Siehe auch