LinkedList inhalt ausgeben java?
Ich habe eine Linkedlist die Objekte beinhalten aber ich möchte alles ausgeben was die Liste beinhalten, ohne jede einzelne Variable abzufragen.
hat da jemand nen Vorschlag?
3 Antworten
Hi,
mit einer For-Schleife.
Beispiel:
LinkedList<String> linkedlist = new LinkedList<String>();
linkedlist.add("Apple");
linkedlist.add("Orange");
linkedlist.add("Mango");
for(String str: linkedlist){
System.out.println(str);
}
Bei Rückfragen gerne melden.
LG
Dann musst du in deiner Klasse die Methode toString() entsprechend überschreiben, damit der gewünschte Output rauskommt.
Du kannst in der Objektklasse die "toString" Methode überschreiben, damit da ein sinnvoller Text angezeigt wird.
Z.B. wenn du in der Liste Personen speichern willst, kannst du in der Klasse Person die toString-Methode überschreiben:
class Person {
String name;
int alter;
public Person(String name, int alter) {
this.name = name;
this.alter = alter;
}
@Override
public String toString() {
return "Person [name=" + name + ", alter=" + alter + "]";
}
}
Dann kannst du einfach die Liste ausgeben, ohne irgendwelche Schleifen benutzen zu müssen:
public static void main(String[] args) {
LinkedList<Person> liste = new LinkedList<Person>();
liste.add(new Person("Heinz", 50));
liste.add(new Person("Gertrud", 46));
liste.add(new Person("Thorsten", 48));
liste.add(new Person("Mathilde", 53));
System.out.println(liste);
}
Ergebnis:
[Person [name=Heinz, alter=50], Person [name=Gertrud, alter=46], Person [name=Thorsten, alter=48], Person [name=Mathilde, alter=53]]
Ich habe das so gemacht und an sich funktioniert es, aber anstatt das zweite Objekt auszugeben gibt er mir das erste noch einmal
Dann hast du evtl. das erste zweimal in die Liste geschrieben, bzw. das zweite mit dem ersten überschrieben oder so. Zeig mal den Teil vom Code, wo du die Objekte erzeugst und in die Liste schreibst.
public static void fahrzeug() {
fahrzeugListe.add(new Fuhrpark(1, "VW", "Smart", "ja", 80));
fahrzeugListe.add(new Fuhrpark(2, "Ford", "Transporter", "ja", 80));
//(id,marke,typ,verfügbar,preis
}
Der Ort an dem ich die Objekte erzeuge
und die Liste gibst du dann einfach mit System.out.println(fahrzeugListe); aus? Das sollte eigentlich so funktionieren, wie erwartet.
mmhhh. Dann sind da sich wohl irgendwo Methoden im weg. Muss ich mal ein bisschen rum probieren. Danke :)
Weshalb nicht in einem Foreach durch die Liste arbeiten?
Vielen Dank für die Antwort aber als Ausgabe in der Konsole gibt er den Speicherort aus z.B @79698539 :/