Java/List: Unterschied zwischen den Versionen
Aus ZUM-Unterrichten
< Java
main>Ugh (→Wahrscheinlich falsche Interpretation: Überschrift neu) |
main>Ugh K (→Mögliche Interüretation: typo) |
||
| 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? | ||
===Mögliche | ===Mögliche Interpretation=== | ||
Realisiert mit ArrayList: | Realisiert mit ArrayList: | ||
<java> | <java> | ||
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 Interpretation
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
- Hier sind offene Fragen und Kommentare zusammengefasst.
- Aufruf zur Diskussion
