Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen

bindankbar

Mitglied
Hallo, wenn man eine verkettete Liste hat, die Objekte hat, z. B. Autos.
Und jedes AUto hat z. B. ps-anzahl, kilometer,baujahr, name etc.

Wenn ich jetzt die Objekte in einer verketteten Liste habe, ist es ja so, dass ein Element meiner verketteten Liste ein ganzes Objekt hat. Ich soll jedoch von dem Objekt nur ein Attribut auslesen, z. B. die ps-anzahl und das bei jedem anderem Element in der Liste auch. Wie mache ich das? Es wird explizit gesagt, dass man durch die Liste gehen soll und dann das jeweilige Attribut immer raussuchen soll :( Bin jetzt 3 Tage nur an der Aufgabe dran, habe einfach keine Zeile hinbekommen.

Gibt es dafür einen code? Wenn ich z. B. eine verkettete Liste habe, dass man sagt variable.data.attributwert oder so, wenn data die Referenz zu dem Objekt wäre :(? Bei Arrays ist das kein Problem, da mach ich ja einfahc arrayname.attributname, wenn Objekte im Array sind, aber bei Listen :(? WÜrde mich über jede Hifle freuen, danke euch
 
Beste Antwort
K
ICh hätte erstmal an einen Iterator gedacht.
Das war auch vollkommen richtig. Er wird erst einmal durch die Liste iterieren müssen. Vermutlich nicht mit dem Interface Iterator aber halt mit Methoden, die die (vermutlich eigene oder vorgegebene) LinkedList vorgibt. Ich hatte mich nur auf das "Wie komme ich an das Attribut?" konzentriert.

Bezüglich der Frage, wie Du das anwendest:

LinkedList ist immer in etwa so aufgebaut:

Du hast Nodes, Knoten, wie auch immer Du es nennen willst. Die Liste selbst zeigt auf einen solchen Knoten (head oder so).

Du kannst also erst einmal durch die ganze Liste durchgehen:
aktueller Knoten := head
So langer aktueller Knoten nicht null ist:
--> Mache etwas mit dem Knoten
--> aktueller Knoten :=...
K

kneitzel

Gast
Also nehmen wir einmal das Beispiel: Du hast die Klasse Auto und die hat ein Attribut Baujahr. Dann wird es ja einen Getter geben a.la. getBaujahr().

Wenn Du nun einen Node einer Verketteten Liste hast, und in diesem ist ein Auto gespeichert, dann kannst Du das evtl. per getValue() oder getAuto() bekommen. Wenn so eine Methode ein Auto zurück gibt, dann kannst Du darauf doch das getBaujahr() aufrufen, also etwas wie:
node.getValue().getBaujahr()
um das Baujahr auszulesen.
 

bindankbar

Mitglied
Okay, aber wie nutze ich das
den getter musst du selber schreiben.

Java:
public variablenTyp getVariablenName1(){
        return variablenName1;
    }
Und was heißt das genau? Wie gehe ich durch eine Liste und nutze das als kombination? Also wie kann ich durch meine verkettete Lsite gehen und mit dem "getter", habend as leider noch nicht kennen gelernt, also den Fachbegriff, auf mein Attribut zugreifen?
 

LouCyphre

Bekanntes Mitglied
Dann sind die Attribute bestimmt public, d.h. Du kannst Da direkt drauf zugreifen, also einfach etwas wie
node.getValue().baujahr
Ich habe ein bisschen später als @kneitzel geantwortet.

Wenn deine Attribute public sind, sollte es ohne den getter gehen. wenn private dann musst du .getVariablenName() draufzugreifen.
Du darauf doch das getBaujahr() aufrufen, also etwas wie:
node.getValue().getBaujahr()


Ich habs selbst nicht ausprobiert. ICh hätte erstmal an einen Iterator gedacht. Aber Kneitzel ist (n!) erfahrener als ich, deshalb bevorzuge seinen Vorschlag.
 
K

kneitzel

Gast
den getter musst du selber schreiben.

Java:
public variablenTyp getVariablenName1(){
        return variablenName1;
    }
Das ist nicht zwingend notwendig. Der Zugriff kann auch so erfolgen.

Aber Du hast mit dem Hinweis natürlich vom Prinzip her Recht: Das ist aus Gründen der Kapselung stark anzuraten. Aber bei so vorgegebenem Code wird eine Diskussion natürlich nichts ändern.

Okay, aber wie nutze ich das
Ich habe Dir ein Beispiel genannt. Wenn Du ein Auto hast, dann kannst Du direkt auf das Attribut zugreifen.

Wir haben jetzt natürlich keine Ahnung, wie Deine LinkedList aussieht. Wenn der Node nicht speziell für Auto geschrieben wurde und keine Generics nutzt, dann wird so eine Methode node.getValue() vermutlich einfach ein Object zurück geben und kein Auto. Sollte dies der Fall sein, dann müsstest Du da noch einen Cast machen: Du musst dem Compiler sagen: Behandel das Object wie ein Auto: (Auto) muss davor. Also etwas wie:
Java:
Auto auto = (Auto) node.getValue;
// jetzt kannst du auf auto.baujahr zugreifen.

Das ist aber jetzt ein Raten - denn Du hast uns noch keinerlei Details zu der LinkedList verraten und auch nicht, wo genau Dein Problem jetzt ist.
 

bindankbar

Mitglied
Okay danke, aber wie wende ich das an :( sorry bin da echt dumm :(.

Ich habe eien Variable help, die mein erstes Element wiederspiegelt meinen head und das erste Element ist wie erwähnt mein Objekt.

Mache ich dann help.klassenname.attributname?

(Sorry für die echt dumme frage, aber ich habe nicht mal ganz kapiert was ein node ist, bin echt ein dummer Anfänger
 

bindankbar

Mitglied
Das ist nicht zwingend notwendig. Der Zugriff kann auch so erfolgen.

Aber Du hast mit dem Hinweis natürlich vom Prinzip her Recht: Das ist aus Gründen der Kapselung stark anzuraten. Aber bei so vorgegebenem Code wird eine Diskussion natürlich nichts ändern.


Ich habe Dir ein Beispiel genannt. Wenn Du ein Auto hast, dann kannst Du direkt auf das Attribut zugreifen.

Wir haben jetzt natürlich keine Ahnung, wie Deine LinkedList aussieht. Wenn der Node nicht speziell für Auto geschrieben wurde und keine Generics nutzt, dann wird so eine Methode node.getValue() vermutlich einfach ein Object zurück geben und kein Auto. Sollte dies der Fall sein, dann müsstest Du da noch einen Cast machen: Du musst dem Compiler sagen: Behandel das Object wie ein Auto: (Auto) muss davor. Also etwas wie:
Java:
Auto auto = (Auto) node.getValue;
// jetzt kannst du auf auto.baujahr zugreifen.

Das ist aber jetzt ein Raten - denn Du hast uns noch keinerlei Details zu der LinkedList verraten und auch nicht, wo genau Dein Problem jetzt ist.
Aso. Also ich habe eine Klasse, namens brabus, mit 5 Attributen die public sind.

Dann habe ich eine Liste wo eine Referenz zu der Klasse gebaut wird. Die referenz heißt data. Und mit next gehe ich weiter in meiner Liste. Mein head, heißt als variable auch head und mein letztes Element in der Liste heißt z. Und das Attribut, welches ich von der Klasse brabus immer rausfischen soll heißt mimi und ist ein public int.

Also gegeben:
-Klasse namens brabus mit 5 Attributen die public sind, ein Attribut heißt mimi und ist int
- Liste mit referenz zur Klasse brabus mit der variable data
- head namens head
- letztes Element heißt z
-
- ich soll mimi von jedem Objekt rausfischen, welches meine Liste hat.
 

LouCyphre

Bekanntes Mitglied
(Sorry für die echt dumme frage, aber ich habe nicht mal ganz kapiert was ein node ist, bin echt ein dummer Anfänger
Alles EZ, das ist normal, dass man am Anfang und auch später ein bisschen lost ist.

Aber wie @kneitzel und ich schon sagten. Ohne Code ist es schwer eine Idee von deinem konkreten Problem zu bekommen.
Deswegen, post erstmal, was du schon hast, dir reisst keiner den Kopf ab
 
K

kneitzel

Gast
ICh hätte erstmal an einen Iterator gedacht.
Das war auch vollkommen richtig. Er wird erst einmal durch die Liste iterieren müssen. Vermutlich nicht mit dem Interface Iterator aber halt mit Methoden, die die (vermutlich eigene oder vorgegebene) LinkedList vorgibt. Ich hatte mich nur auf das "Wie komme ich an das Attribut?" konzentriert.

Bezüglich der Frage, wie Du das anwendest:

LinkedList ist immer in etwa so aufgebaut:

Du hast Nodes, Knoten, wie auch immer Du es nennen willst. Die Liste selbst zeigt auf einen solchen Knoten (head oder so).

Du kannst also erst einmal durch die ganze Liste durchgehen:
aktueller Knoten := head
So langer aktueller Knoten nicht null ist:
--> Mache etwas mit dem Knoten
--> aktueller Knoten := nachfolgender Knoten

Das ist also das Typische Vorgehen. Du fängst am Anfang an und gehst so die ganze Liste durch.

Der Knoten speichert nun einen Wert. Hier fehlen und die genauen Vorgaben. Du hast eine Referenz, die "data" heisst: Ist die vom Typ "brabus"?
Wenn dir vom Typ brabus ist, dann kannst Du, wenn "help" eine Variable vom Knoten ist, einfach sagen: help.data.gewuenschtesAttribut um auf das gewünschte Attribut zuzugreifen. Oder um es besser lesbar für Dich zu machen: Aufgeteilt auf zweiGefehle:
brabus element = help.data;
element.gewuenschteAttribut
 
Beste Antwort

bindankbar

Mitglied
Das war auch vollkommen richtig. Er wird erst einmal durch die Liste iterieren müssen. Vermutlich nicht mit dem Interface Iterator aber halt mit Methoden, die die (vermutlich eigene oder vorgegebene) LinkedList vorgibt. Ich hatte mich nur auf das "Wie komme ich an das Attribut?" konzentriert.

Bezüglich der Frage, wie Du das anwendest:

LinkedList ist immer in etwa so aufgebaut:

Du hast Nodes, Knoten, wie auch immer Du es nennen willst. Die Liste selbst zeigt auf einen solchen Knoten (head oder so).

Du kannst also erst einmal durch die ganze Liste durchgehen:
aktueller Knoten := head
So langer aktueller Knoten nicht null ist:
--> Mache etwas mit dem Knoten
--> aktueller Knoten := nachfolgender Knoten

Das ist also das Typische Vorgehen. Du fängst am Anfang an und gehst so die ganze Liste durch.

Der Knoten speichert nun einen Wert. Hier fehlen und die genauen Vorgaben. Du hast eine Referenz, die "data" heisst: Ist die vom Typ "brabus"?
Wenn dir vom Typ brabus ist, dann kannst Du, wenn "help" eine Variable vom Knoten ist, einfach sagen: help.data.gewuenschtesAttribut um auf das gewünschte Attribut zuzugreifen. Oder um es besser lesbar für Dich zu machen: Aufgeteilt auf zweiGefehle:
brabus element = help.data;
element.gewuenschteAttribut
OMG danke dir :) hat geklappt!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W ListView komplett anzeigen Java Basics - Anfänger-Themen 2
A BinaryTree komplett kopieren Java Basics - Anfänger-Themen 7
S JOptionPane komplett leeres Fenster Java Basics - Anfänger-Themen 4
B FileWatcher : Erst Rückmeldung wenn komplett kopiert? Java Basics - Anfänger-Themen 3
B Array - nicht komplett ausgeben Java Basics - Anfänger-Themen 8
H Best Practice Wie mit break verschachtelte Schleifen komplett verlassen? Java Basics - Anfänger-Themen 2
J ArrayList<int[]> wird beim hinzufügen von werten komplett überschrieben warum? Java Basics - Anfänger-Themen 1
J Code in Try-Catch Block wird nicht komplett ausgeführt Java Basics - Anfänger-Themen 5
H JFrame komplett schließen Java Basics - Anfänger-Themen 3
S Logging Code komplett von Compiler entfernen lassen..? Java Basics - Anfänger-Themen 5
M Datei an andere Datei komplett anhängen Java Basics - Anfänger-Themen 11
M Komplett anfang in Java Java Basics - Anfänger-Themen 9
M Strings komplett quotiert Java Basics - Anfänger-Themen 6
M Listenobjekte werden nicht komplett gelöscht Java Basics - Anfänger-Themen 2
M Webseite komplett laden Java Basics - Anfänger-Themen 4
I Funktion erst starten nachdem eine komplett fertig ist Java Basics - Anfänger-Themen 4
D Inhalt einer Liste auf nur ein Wert überprüfen ohne die Liste komplett zu interieren Java Basics - Anfänger-Themen 6
V "TAB" komplett verändern Java Basics - Anfänger-Themen 10
sc0p convert 2 Jar - GUI nicht komplett Java Basics - Anfänger-Themen 9
G Datei verfügbar / komplett? Java Basics - Anfänger-Themen 9
T Textdatei komplett auslesen Java Basics - Anfänger-Themen 6
G Button komplett mit Texture ausfüllen? Java Basics - Anfänger-Themen 5
M sting komplett bearbeiten und nicht nach zeilenumbruch ende Java Basics - Anfänger-Themen 3
K datei komplett als Stream oder ähnliches Java Basics - Anfänger-Themen 4
S JTree aktualisieren bzw. komplett neu aufbauen Java Basics - Anfänger-Themen 6
D extrem noob komplett neuanfang mit java Java Basics - Anfänger-Themen 5
S Ich bin am verzweifeln! Java Basics - Anfänger-Themen 9
Luk10 Verzweifeln mit NPE Java Basics - Anfänger-Themen 5
U UnsatisfiedLinkError -JD2XX.dll - Bin am verzweifeln Java Basics - Anfänger-Themen 10
S if-Abfragen bringen mich zum VERZWEIFELN! Java Basics - Anfänger-Themen 12
G Import Probleme bei JSP (ich bin am verzweifeln) Java Basics - Anfänger-Themen 10
M Ich und mein Programm. am verzweifeln ^^ Java Basics - Anfänger-Themen 7
G Plugins einbinden oder "Hilfe ich bin am verzweifeln :( Java Basics - Anfänger-Themen 3
A Absolut unglaublich, ich bin am verzweifeln! Java Basics - Anfänger-Themen 2
M Verkettete Liste Java Basics - Anfänger-Themen 1
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
V einfach verkettete Listen Java Basics - Anfänger-Themen 10
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
A Verkettete Liste Java Basics - Anfänger-Themen 2
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
L verkettete Liste Java Basics - Anfänger-Themen 15
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
H Verkettete Liste Java Basics - Anfänger-Themen 7
N Verkettete liste rückwärts ausgeben Java Basics - Anfänger-Themen 18
K Verkettete Liste und seine Methoden Java Basics - Anfänger-Themen 1
A Was könnten typische Prüfungsaufgaben zum Thema lineare, verkettete Listen sein? Java Basics - Anfänger-Themen 5
N Verkettete Liste implementieren Java Basics - Anfänger-Themen 5
O Einfach verkettete Liste - Revert Methode Java Basics - Anfänger-Themen 1
G Verkettete Liste - Neu erzeugte Elemente werden nicht ausgegeben Java Basics - Anfänger-Themen 5
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
B Doppelt Verkettete Liste - Ist alles gut so? Java Basics - Anfänger-Themen 3
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
R Erste Schritte Verkettete Liste will einfach nicht in meinen Schädel Java Basics - Anfänger-Themen 11
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
U Datentypen Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 13
J Methoden Doppelt verkettete Liste remove(Object) Java Basics - Anfänger-Themen 8
B OOP Über eine doppelt verkettete Liste iterieren Java Basics - Anfänger-Themen 4
hooked Verkettete Liste / linked list Java Basics - Anfänger-Themen 2
L Doppelt verkettete Liste Java Basics - Anfänger-Themen 6
J Eine Art verkettete Liste aber mit teils mehr als einem Nachfolger Java Basics - Anfänger-Themen 8
V Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 3
N verkettete Listen Java Basics - Anfänger-Themen 4
R doppelt verkettete Liste aus Arrays erstellen Java Basics - Anfänger-Themen 1
K Einfach Verkettete Liste - addFirst() Java Basics - Anfänger-Themen 7
M verkettete Listen Java Basics - Anfänger-Themen 1
G 2 Aufgabe rund um eine verkettete Liste Java Basics - Anfänger-Themen 2
O Verkettete Liste Java Basics - Anfänger-Themen 10
E Methoden auf von Methoden erstellte Objekte zugreifen (verkettete Liste) Java Basics - Anfänger-Themen 10
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
S Doppelt verkettete Liste Java Basics - Anfänger-Themen 3
G Doppelt Verkettete Liste Java Basics - Anfänger-Themen 2
V Methoden Verkettete Listen Index eines Elementes ausgeben Java Basics - Anfänger-Themen 10
A Doppelt Verkettete Liste Java Basics - Anfänger-Themen 16
E doppelt verkettete liste Java Basics - Anfänger-Themen 10
V Verkettete Liste. Java Basics - Anfänger-Themen 7
X Einfach Verkettete Liste Java Basics - Anfänger-Themen 16
K Verkettete Liste - Methode entwerfen Java Basics - Anfänger-Themen 14
S Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 12
B Insertionsort verkettete Liste Java Basics - Anfänger-Themen 4
B Stack in eine verkettete Liste pushen Java Basics - Anfänger-Themen 4
D Collections Verkettete Listen und Fußball... Java Basics - Anfänger-Themen 11
R verkettete liste ansEndeSchieben Java Basics - Anfänger-Themen 13
S Verkettete Listen Java Basics - Anfänger-Themen 10
S Verkettete Listen in Java Java Basics - Anfänger-Themen 11
T Verkettete Liste Java Basics - Anfänger-Themen 14
C Methoden Verkettete listen - next methode Java Basics - Anfänger-Themen 3
I verkettete listen Java Basics - Anfänger-Themen 12
A Klassen Innere Klassen, verkettete Liste Java Basics - Anfänger-Themen 9
B Zweifach-verkettete Liste umkehren Java Basics - Anfänger-Themen 6
X verkettete Liste Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben