LinkedList inhalt ausgeben java?

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

Woher ich das weiß:Berufserfahrung
spiderpic98 
Fragesteller
 10.02.2021, 11:17

Vielen Dank für die Antwort aber als Ausgabe in der Konsole gibt er den Speicherort aus z.B @79698539 :/

0
alfredo153  10.02.2021, 11:35
@spiderpic98

Dann musst du in deiner Klasse die Methode toString() entsprechend überschreiben, damit der gewünschte Output rauskommt.

3

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]]
spiderpic98 
Fragesteller
 10.02.2021, 11:47

Ich habe das so gemacht und an sich funktioniert es, aber anstatt das zweite Objekt auszugeben gibt er mir das erste noch einmal

0
daCypher  10.02.2021, 12:06
@spiderpic98

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.

0
spiderpic98 
Fragesteller
 10.02.2021, 12:12
@daCypher
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


0
daCypher  10.02.2021, 13:17
@spiderpic98

und die Liste gibst du dann einfach mit System.out.println(fahrzeugListe); aus? Das sollte eigentlich so funktionieren, wie erwartet.

0
spiderpic98 
Fragesteller
 11.02.2021, 09:33
@daCypher

mmhhh. Dann sind da sich wohl irgendwo Methoden im weg. Muss ich mal ein bisschen rum probieren. Danke :)

0

Weshalb nicht in einem Foreach durch die Liste arbeiten?

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting