Java Ganze Queue ausgeben?

4 Antworten

Dafür ist eine Queue nicht gemacht

Du kannst mit .peek();

zumindest laut meinem Wissensstand, dir nur das erste Objekt ausgeben und nicht wie mit poll(); direkt removen

Du kannst einfach die Queue selbst an println übergeben. Wenn die Objekte in der Queue gescheite toString() Funtionen haben, werden sie auf der Konsole ausgegeben.

public static void main(String[] args) {
	Queue<String> test = new LinkedList<String>();
	test.addAll(Arrays.asList("Dies", "ist", "ein", "Test"));
	System.out.println(test);
}

Ergebnis:

[Dies, ist, ein, Test]

Eine foreach-Schleife reicht aus. Queues sind iterierbar.

Queue<String> queue = new LinkedList<>();
// fill ...

for (String item : queue) {
  System.out.println(item);
}

Warum iterierst Du nicht einfach über die Queue?

for ( Element e : queue ) { ... }

oder

queue.foreach( e -> System.out.printf("%s\n", e) );