Queue zyklisch

Fohnbit

Top Contributor
Hallo,

ich müsste alle 2 Sekunden ausgeben, ob ein Status false ist.

In einer Methode wird geprüft ob der Status aus ist:
Deklariert:
Java:
Queue<String> q = new LinkedList<String>();

Java:
String s = getProperty("d" + i + "_name").getValue() + " offen";
                    if (!b) {
                        if (!q.contains(s))
                            q.add(getProperty("d" + i + "_name").getValue() + " offen");
                    } else {
                        if (!q.contains(s))
                            q.remove(getProperty("d" + i + "_name").getValue() + " offen");
                    }

Und mit einem Timer wird zyklisch:
Java:
private void sendText() {
        if (q.size() > 0) {
            String s = q.remove();
            q.add(new String(s));
            updateOutputStatus(s);
        }
    }

Das klappt aber so nicht, da der Text nicht als Objekt gilt und somit auch nicht wieder aus der queue gelöscht wird, wenn er wieder auf true geht.

Es soll zyklisch der Status ob ein Fenster in einem Haus offen ist, ausgegeben werden.

Beispiel:
Fenster 1 offen
Fenster 2 offen
Fenster 3 geschlossen

Ausgabe sollte im loop alle 2 Sekunden sein:
Fenster 1 offen
[2s warten]
Fenster 2 offen
[2s warten]
Fenster 1 offen
[2s warten]
Fenster 2 offen
usw ...



wenn in der Zwischenzeit ein Fenster geschlossen wird, soll es aus der Liste verschwinden, aber die Ausgabe soll nicht auf Start zurückspringen.

Beispiel von oben:
Beispiel:
Fenster 1 offen
Fenster 2 geschlossen
Fenster 3 offen

Wenn gerade bei Fenster 2 soll danach
Fenster 3 offen kommen

Die Liste würde dann so aussehen
Fenster 1 offen
Fenster 3 offen


Denk die Queue ist der falsch Ansatz?
 

mrBrown

Super-Moderator
Mitarbeiter
Das klappt aber so nicht, da der Text nicht als Objekt gilt und somit auch nicht wieder aus der queue gelöscht wird, wenn er wieder auf true geht.
Das dürfte an was anderem liegen:

Java:
String s = getProperty("d" + i + "_name").getValue() + " offen";
                    if (!b) {
                        if (!q.contains(s))
                            q.add(getProperty("d" + i + "_name").getValue() + " offen");
                    } else {
                        if (!q.contains(s))
                            q.remove(getProperty("d" + i + "_name").getValue() + " offen");
                    }
Falls ich mich grad nicht verlese entspricht das ganze:

Java:
String s = getProperty("d" + i + "_name").getValue() + " offen";
                    if (!b) {
                        if (!q.contains(s))
                            q.add(s);
                    } else {
                        if (!q.contains(s))
                            q.remove(s);
                    }

Und auffällig ist da ein if (!q.contains(s)) q.remove(s);



Denk die Queue ist der falsch Ansatz?

Es sollen einfach nur zyklisch die offenen Fenster ausgegeben werden?

Hast du "Fenster" irgendwie sinnvoll modelliert? Dann nutz direkt einen Ringpuffer aus Fenstern, zum ausgeben "spulst" du dann einfach zum nächsten Offenen vor und überspringst alle geschlossenen.



(BTW: noch schlechter kann man Variablen wirklich nicht benennen.)
 
X

Xyz1

Gast
Ok gerade nachgeschaut, LL ist eine das Interface implementierende Klasse. Dennoch würd ich niemals diese Implementierung dafür verwenden. xD
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Queue zyklisch auslesen Java Basics - Anfänger-Themen 4
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
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
H Collections StackOverflowError in einer Queue Java Basics - Anfänger-Themen 3
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
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 auf einer Seite löschen, andre Seite schreiben Java Basics - Anfänger-Themen 3
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
S Fehler beim Auslösen des ActionListeners in Verbindung mit einer Queue Java Basics - Anfänger-Themen 5
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
C Zyklisch verkette Liste - Pop() methode implementieren Java Basics - Anfänger-Themen 2
S zyklisch verkettete Liste erstellen Java Basics - Anfänger-Themen 3
N Bitte um Hilfe - zyklisch Existenz einer Datei prüfen Java Basics - Anfänger-Themen 21
R Datentyp Ring - zyklisch doppelt verkettete Liste - HILFE! Java Basics - Anfänger-Themen 12
Z Zyklisch verkettete Liste Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben