in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern

bradig

Aktives Mitglied
hallo
ich habe ein kleines Problem.
ich habe eine abstrakte generische klasse Set<T> und ich möchte in dieser Klasse eine einfache verkettete List einfügen ,um die Elemente des Sets in dieser einfachen verketteten Liste speichern zu können.
wie kann ich das anstellen?


Herzlich

Bradig
 
Java:
LinkedList<T> myList;

private void setToList(){
    for(T value: getSet()) {
        myList.add(value);
    }
}
private Set<T> getSet(){
    //returnt das Set der Klasse
    return xy;
}

Meinst du sowas ?
 
Also
Ich habe folgende Klasse:

Abstract Set<T> implements Iterable<T>{
}

Ich möchte eine einfache verkettete Liste in dieser Klasse implementieren ,die die Elemente des Sets speichern.
 
Java:
abstract class Set<T> implements Iterable<T>{

    LinkedList<T> objects = new LinkedList<>();

    public void add(T item){
        objects.add(item);
    }
}
 
In einem Set darf jedes Element eigentlich nur einmal vorhanden sein, deshalb wäre die add-Methode so etwas sauberer:
Java:
public void add(T item){
    if (!objects.contains(item)) {
        objects.add(item);
    }
}
 
Ich dachte,man musste simplyLinkedList<T> list=new simplyLinkedList<>() verwenden,da es sich um eine einfache verkettete List handeln.
Oder ist simplyLinkedList auch ein LinkedList.
 
simplyLinkedList gibt es in Plain Java nicht, wenn das eine Klasse ist, die du irgendwo bekommen hast, sollest du die verwenden.
LinkedList müsste eine DoubleLinkedList sein
 
für die Speicherung der Elemente sollte ich eine selbstimplementierte einfache verkettete Liste in der abstrakten Klasse Set einfügen.
Deswegen wurdert mich ja ,dass man den Standard linkedList hier verwenden kann.
 
Google? Suchfunktion vom Forum?
Zu selbstgebauten LinkedLists wird hier gefühlt jede Woche eine Frage gestellt.
Der "Trick" bei linked Lists ist es, dass du Elemente hast, welche zum einen dein item T speichern und zum anderen eine Referenz auf das nächste Element.
 

Neue Themen


Zurück
Oben