Queue auf einer Seite löschen, andre Seite schreiben

G

Gast2

Gast
Hi,

ich brauche einen Speicher, in den ca.15 Werte kommen.
Nacheinander soll ein neuer Wert hinzukommen und der älteste Wert raus fliegen.

Ich glaube Queue ist dafür richtig?!

diesen Quelltext habe ich aus javainsel und leicht angepasst
Java:
		Queue<String> queue = new LinkedList<String>();

		queue.offer("Fischers");
		queue.offer("Fritze");
		queue.offer("fischt");
		queue.offer("frische");
		queue.offer("Fische");

		queue.poll();
		queue.offer("Nein, es war Paul!");

		while (!queue.isEmpty())ausgabe += (queue.poll() + "\n");
		txv_ausgabe.setText(ausgabe);
und der funktioniert sehr gut.

Ausgabe:
Fritze
fischt
frische
Fische
Nein, es war Paul!

Jetzt will nach der Ausgabe einen Wert unten anhängen und den ersten löschen.
Wenn ich versuche
Java:
		Queue<String> queue = new LinkedList<String>();

		queue.offer("Fischers");
		queue.offer("Fritze");
		queue.offer("fischt");
		queue.offer("frische");
		queue.offer("Fische");

		queue.poll();
		queue.offer("Nein, es war Paul!");

		while (!queue.isEmpty())ausgabe += (queue.poll() + "\n");
		txv_ausgabe.setText(ausgabe);

		queue.poll();		
		queue.offer("Nein, es war Frank!");

		while (!queue.isEmpty())ausgabe += (queue.poll() + "\n");
		txv_ausgabe.setText(ausgabe);
dann wird "Nein, es war Frank!" angehangen, aber "Fritze" nicht abgeschnitten.
Wenn ich Zeile 15 und 16 tausche, dann wird nichts verändert (der angehangene "Frank" gleich wieder gelöscht).

Die Ausgaben benötige ich.
Wie kann ich dieses Problem lösen?
 

Saturas

Mitglied
Ich gehe mal davon aus "ausgabe" ist hier einfach nur en String.
Du löschst in der Schleife alle Elemente nacheinander aus der Liste heraus, bis diese leer ist.

Dann willst du wieder ein Element herauslöschen (Zeile 15), was halt nicht mehr geht, da die Liste leer ist und dann fügst du wieder was ein.
Den String "ausgabe" veränderst du dabei allerdings nicht. Das heißt in dem String ist immer noch die komplette Ausgabe von vorhin drin und dieser String erhält jetzt einfach noch das gerade eingefügte Element inklusive aller Elemente, die vorher auch drin waren.

Sprich, deine Methode macht schon das was sie soll (wenn du alle Elemente der Liste herauslöschen willst), damit du aber auch was davon mitbekommst, müsstest du den String neu initialisieren.

Als Alternative zur Queue kannst du aber auch ne ArrayList oder so nehmen und dann immer remove(0) aufrufen um das vorderste Element zu löschen. Bei ca. 15 Elementen sollte es keinen Untershcied machen welche Liste du verwendest
 
G

Gast2

Gast
nach meiner Logik...
da in der while (Zeile 2) immer wieder pool() aufgerufen wird,
müsste ich doch davon ausgehen,
dass 1.) pool() den ältesten Wert zurück gibt (ausgabe += queue.pool())
und 2.) pool() den ältesten Wert löscht (Zeile 9).

Aber irgendwie funktioniert es doch anders.
Sonst wäre nach der erste while alles gelöscht,
was mir die zweite Version (mit zwei Ausgaben) widerlegt.

Kann mir das jemand erklären?
 
S

SlaterB

Gast
> Bei ca. 15 Elementen sollte es keinen Untershcied machen welche Liste du verwendest

oder wenn dann eben bei der LinkedList bleiben, die hier als Queue verwendet wird,
nur bei der Ausgabe nicht alles löschen!, sondern dort die Liste normal durchlaufen,
das ist wohl der entscheidende Punkt,

dann ist sie in Zeile 14 noch befüllt, Zeile 15 und 16 ändern sie wie gewünscht
und danach könnte der String neu aufgebaut werden, aber von Grund auf, nur mit + bekommt man nicht den Anfang des Strings gelöscht


> Aber irgendwie funktioniert es doch anders.
> Sonst wäre nach der erste while alles gelöscht,
ist es!
> was mir die zweite Version (mit zwei Ausgaben) widerlegt.
da ist noch die erste Ausgabe mit drin
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Collections StackOverflowError in einer Queue Java Basics - Anfänger-Themen 3
S Fehler beim Auslösen des ActionListeners in Verbindung mit einer Queue Java Basics - Anfänger-Themen 5
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Vererbung Queue bestehend aus Superclass- und Subclass-Objekten Java Basics - Anfänger-Themen 7
B Zahlenfolge von Queue in Stack Java Basics - Anfänger-Themen 29
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
P Priority Queue Performance Java Basics - Anfänger-Themen 3
Chabub Hilfe bei Stacks und Queue Java Basics - Anfänger-Themen 2
G Stack und Queue Arbeitsblatt Java Basics - Anfänger-Themen 3
F Queue zyklisch Java Basics - Anfänger-Themen 8
D Queue vs. Stack Java Basics - Anfänger-Themen 6
L Queue mithilfe von 2 Stacks erstellen Java Basics - Anfänger-Themen 1
B Automatisierung von Jobs / @EJB Scheduler / Verhinderung, dass Queue überläuft Java Basics - Anfänger-Themen 2
A Priority Queue / Comparator Java Basics - Anfänger-Themen 6
J Queue Warteschlange Java Basics - Anfänger-Themen 3
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
Y Unendlicher Ringbuffer (Queue) Java Basics - Anfänger-Themen 49
C Stack und Queue in Aktion (Bitte Hilfe für die Klausur) Java Basics - Anfänger-Themen 7
E Stack vs Queue - Gemeinsamkeiten / Unterschiede Java Basics - Anfänger-Themen 7
R Klassen Die lineare Datenstruktur Queue Java Basics - Anfänger-Themen 3
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
K Queue enq Fehler Java Basics - Anfänger-Themen 2
F Thread der auf eine Queue wartet, sicher beenden Java Basics - Anfänger-Themen 4
A Queue (Array) leeren Java Basics - Anfänger-Themen 1
F HTTP Get Queue Java Basics - Anfänger-Themen 7
J Queue zyklisch auslesen Java Basics - Anfänger-Themen 4
B Generische Queue programmieren Java Basics - Anfänger-Themen 5
T Priority-Queue Java Basics - Anfänger-Themen 9
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
P Array queue problem Java Basics - Anfänger-Themen 1
L Queue programmieren via BlueJ Java Basics - Anfänger-Themen 5
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
I Erste Schritte Queue Java Basics - Anfänger-Themen 14
G Queue mit int oder float Java Basics - Anfänger-Themen 3
Q queue.remove Element trotzdem noch vorhanden. Java Basics - Anfänger-Themen 10
P Priority Queue Java Basics - Anfänger-Themen 6
M Compiler-Fehler Queue als ArrayList mit Exceptions Java Basics - Anfänger-Themen 3
B Queue mit Daten aus einem Stack füllen Java Basics - Anfänger-Themen 21
P Collections Queue mittels ArrayList Java Basics - Anfänger-Themen 2
T Collections Queue<? extends Number> add() offer() Java Basics - Anfänger-Themen 13
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
R NullPointerException in Queue-Implementierung Java Basics - Anfänger-Themen 11
B Queue problem! Java Basics - Anfänger-Themen 2
R Queue abhören und Message in Browser ausgeben Java Basics - Anfänger-Themen 3
T Erstellung von Queue mit verkketten listen Java Basics - Anfänger-Themen 3
kulturfenster Stack / Queue Implementationen Java Basics - Anfänger-Themen 11
K Priority Queue - wo ist denn jetzt der Vorteil? Java Basics - Anfänger-Themen 7
W Iterator in Queue Java Basics - Anfänger-Themen 5
Q An erste Stelle in eine Queue eintragen Java Basics - Anfänger-Themen 4
H Stack und Queue Java Basics - Anfänger-Themen 6
M Threadsichere Queue in Java 1.5? Java Basics - Anfänger-Themen 2
G Int-Queue in String-Queue umwandeln Java Basics - Anfänger-Themen 5
A Queue erweitern Java Basics - Anfänger-Themen 13
P Queue, Stacks, Listen Java Basics - Anfänger-Themen 7
S Queue als Array implementiert get()? Java Basics - Anfänger-Themen 4
S Queue als verkettete Liste Java Basics - Anfänger-Themen 9
S Queue Java Basics - Anfänger-Themen 30
K Prüfen, ob Queue leer ist Java Basics - Anfänger-Themen 5
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Radius von einer ellipse bestimmen Java Basics - Anfänger-Themen 7
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
M Zufallszahl generieren mit einer linken und rechten Grenze Java Basics - Anfänger-Themen 3
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
S Textausgabe in einer For-Schleife Java Basics - Anfänger-Themen 12
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
B Popups mit Klicksabfangen zumAusfüllen einer .ods Datei Java Basics - Anfänger-Themen 0
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
FireHorses Einen Command erst nach einer Chateingabe aktivieren Java Basics - Anfänger-Themen 1
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
F wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben