Hallo,
ich habe die Aufgabe eine LinkedList ohne Generics zu programmieren wobei ich gewisse Rahmenbedingungen beachten muss...
z.b. darf erzeugen von neuen listelementen per konstruktor nur ein string übergebene werden append(String abc) usw.
Mein Problem:
im main programm erstelle ich eine neue Liste:
Java:
List linkedList =newList();
meine Idee zum ausdehnen der Liste:
Java:
publicvoidappend(String elementContent){String ename=("e"+elementnumber+1);Listelement ename;
ename =newListelement(2,"b");// bzw. in kurzform Listelement ename = new Listelement(2,"b");}
Der springende Punkt ist, dass ich den Namen den das neue Listenelement bekommen soll nicht parametrisieren kann :/
Ich bitte um Ideen/ Hilfe zur Problemlösung.
Danke im vorraus.
Aktuell verstehe ich deine append-Methode nicht:
Du benutzt ename doppelt? Und was meinst du damit, dass du den Namen (welchen?) nicht parametrisieren kannst?
habe das in der append methode jetzt nur so fehlerhaft geschrieben, damit man das problem besser erkennen kann.
ich möchte mit append eine Liste neue Listenelemente hinzufügen,
elementContent ist dabei der übergeben inhalt der dann u.a. im element gespeichert werden soll
ename ist der name des neuen Listenelement's damit ich es später aufrufen kann (&überhaupt anlegen kann)
allerdings würde ich ohne das ename ein parameter ist (String mit dem Buchstaben e + eine zahl die nach jedem erstellen eines neuen elements um 1 erhöht wird) immer nur ein und das selbe listenelement names ename erstellt werden...
desshalb möchte ich das zum beispiel ename ein parameter wird der bei jedem neuen aufrauf den namen ändert.
oder etwas equivalentes^^
Schon mal daran gedacht, dass das Durchnummerieren der Elemente relativ sinnlos ist?
Wenn du später neue Elemente dazwischen einfügst oder Elemente löschst, kannst du deine Nummerierung vergessen.
Und dein Problem verstehe ich immer noch nicht. Erstelle doch einfach ein neues Listenelement mit dem übergebenen String und häng das Element an das Ende der Liste an.
ja aber ich muss beim erstellen eines neuen Listenelements ja einen namen vergeben
und da ich es über die funktion append machen soll, kann ich den namen schlecht verändern ...
außerdem weiß ich nicht wie ich daten in listelementen ändern kann, wenn sie keinen namen haben
ich kann es somit ja nicht aufrufen :x
das ist noch lang nicht fertig, war nur so mein erster ansatz bis ich gemerkt, hab dass es voll nicht möglich ist da ich beim erzeugen durch die methode ja den namensparameter nicht ändern kann...
aber bin so rangegangen, dass mein listelement halt 3 werte hat inhalt, key, und next...
key ist die nummer des elements und next ist halt der key des nächsten elementes sofern es einen gibt
wobei man auch eine variante ohne key nutzen könnte die mir allerdings nicht einfiel...
Moin,
mir sieht das nicht nach einer LinkedList aus. Bei der gibt es einen Nachfolger für jedes Element (und bei der doppelten auch eins Vorgänger). Dort gibt es keinen Zugriff über einen Key, einzig durch eine Art Index.
Das was du da machst sieht eher nach einer Hashmap aus.
okay ja zugegeben der teil des Listelements ist nochnicht gut durchdacht,
aber mein problem ist ja überhaupt das erzeugen vieler verschiedener Listelemente durch die append(String ...) funktion
das kann nur funktionieren, wenn Du die AWT Liste verwendest, was eine UI-Komponente ist.
Bist Du dir sicher, dass die Aufgabe darin besteht, die Collection Klassen von Java zu verwenden und nicht selber eine verkettete Liste zu implementieren, um zu verstehen wie diese Datenstruktur funktioniert?
zitat 1.eintrag: "ich habe die Aufgabe eine LinkedList ohne Generics zu programmieren"
zitat slawaw: "selber eine verkettete Liste zu implementieren, um zu verstehen wie diese Datenstruktur funktioniert?"
ja genau das soll ich ja machen ^^
LinkedList gibt es als Klasse in Java. Wenn schon, dann entweder "linked list" oder "verkettete Liste". Zu besseren Übersicht und weniger Konflikten im Programm solltest Du deine Klassen nicht "List" nennen, sondern z.B. "MyList". Weiterhin ist nicht klar, was Du genau willst. Die verkettete Liste ist eine Datenstruktur, die sehr gut in Büchern oder auch Webseiten beschrieben ist. Ein Integer Key gehört nicht zu der Basisstruktur einer verketteten Liste, außer Du baust es auf Basis eines Arrays auf. Es könnte sein, dass Du es mit der Hashtabelle verwechselst.