Java Ganze Queue ausgeben?
Hi!
Ich möchte eine ganze Queue in Java in die Konsole ausgeben,
meine Idee war die Queue einmal durch zu gehen das Objekt auszugeben, hinten anhängen und vorne rauszunehmen. Gibt bestimmt was besseres, oder?
LG
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
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren
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]
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren, Java
Eine foreach-Schleife reicht aus. Queues sind iterierbar.
Queue<String> queue = new LinkedList<>();
// fill ...
for (String item : queue) {
System.out.println(item);
}
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Informatik
Warum iterierst Du nicht einfach über die Queue?
for ( Element e : queue ) { ... }
oder
queue.foreach( e -> System.out.printf("%s\n", e) );