Also ich soll eine eigene Verkettete Liste schreiben, mit diesem Generics gedöhns ^^ Is grad neu in der Vorlesung. Dazu noch ne Klasse ListenElement<T>.
Soweit sogut, hab mich im Inet schlau gemacht, was gefunden und mal angefangen.
Verkettete Listen sollen ja Vorgänger und Nachfolger haben, hab mir das ganze dann so vorgestellt:
ListenElement<T>
Dürfte denk ich passen. Das Problem jetzt mit der Liste selber:
VerketteteListe<T>:
Rümpfe hab ich weggelassen, sind imo eh leer.
Am Anfang hat die Liste ja Anfang und Ende (habs im Inet so gelesen).
Vorm Anfang is nix (null) und nach dem Ende halt au nix.
Aber wie geht nun weiter? Wie fülle ich die Rümpfe?
bei size() habe ich mir z.B. gedacht, sowas wie gehe immer weiter zum nächsten Nachfolger und zähle nen Zähler immer um 1 hoch, bis der Null Pointer kommt.
Da dies ja über Generics läuft, kann ich dort nicht einfach t.getnachfolger() machen...
btw: Die Methoden müssen nach Aufgabe alle implementiert (überschrieben) werden.
Ich darf in dieser Aufgabe keine Collection oder Arrays verwenden.
Ich hoffe ihr versteht iwie wo mein Problem liegt
Soweit sogut, hab mich im Inet schlau gemacht, was gefunden und mal angefangen.
Verkettete Listen sollen ja Vorgänger und Nachfolger haben, hab mir das ganze dann so vorgestellt:
ListenElement<T>
Code:
package aufgabe1;
public class ListenElement<T> {
private T object;
private ListenElement<T> nachfolger;
private ListenElement<T> vorgänger;
public ListenElement()
{
}
public ListenElement(T object)
{
this.object=object;
}
public ListenElement<T> getVorgänger()
{
return this.vorgänger;
}
public ListenElement<T> getNachfolger()
{
return this.nachfolger;
}
public void setVorgänger(ListenElement<T> element)
{
this.vorgänger=element;
}
public void setNachfolger(ListenElement<T> element)
{
this.nachfolger=element;
}
}
Dürfte denk ich passen. Das Problem jetzt mit der Liste selber:
VerketteteListe<T>:
Code:
package aufgabe1;
import java.util.*;
public class VerketteteListe<T> extends AbstractList<T> {
private ListenElement<T> start;
private ListenElement<T> ende;
public VerketteteListe()
{
start = new ListenElement<T>();
ende = new ListenElement<T>();
start.setVorgänger(null);
start.setNachfolger(ende);
ende.setVorgänger(start);
ende.setNachfolger(null);
}
public int size()
public boolean add(T element)
public void add(int index, T element)
public void clear()
public T get(int index)
public T remove(int index)
public T set(int index, T element)
}
Am Anfang hat die Liste ja Anfang und Ende (habs im Inet so gelesen).
Vorm Anfang is nix (null) und nach dem Ende halt au nix.
Aber wie geht nun weiter? Wie fülle ich die Rümpfe?
bei size() habe ich mir z.B. gedacht, sowas wie gehe immer weiter zum nächsten Nachfolger und zähle nen Zähler immer um 1 hoch, bis der Null Pointer kommt.
Da dies ja über Generics läuft, kann ich dort nicht einfach t.getnachfolger() machen...
btw: Die Methoden müssen nach Aufgabe alle implementiert (überschrieben) werden.
Ich darf in dieser Aufgabe keine Collection oder Arrays verwenden.
Ich hoffe ihr versteht iwie wo mein Problem liegt

Zuletzt bearbeitet: