Hallo,
ich speichere Zustände in einer LinkedList:
Es liegt der Klasse "LimitedQueue" eine LinkedList zugrunde.
Nun muss ich bei der Zeile:
entscheiden, ob der Wert mittels "add" hinzugefügt wird oder ob ein älterer Eintrag überschrieben werden soll.
Wenn id und key über einstimmen, soll überschrieben werden, wenn der timeStamp weniger als 5sek auseinander liegt und sonst normal hinzufügen.
Nun könnte ich einen Loop über die ganze recordedEvents machen:
Aber ist das ein dankbarer Weg und klappt das mit dem löschen und neu einfügen so wie im Beispiel oben?
Danke!
ich speichere Zustände in einer LinkedList:
Java:
private LimitedQueue<RecEvent> recordedEvents = new LimitedQueue<RecEvent>(5000, 86400);
RecEvent e = new RecEvent(id, key, timeStamp, value, desc);
recordedEvents.add(e);
Es liegt der Klasse "LimitedQueue" eine LinkedList zugrunde.
Nun muss ich bei der Zeile:
Java:
RecEvent e = new RecEvent(id, key, timeStamp, value, desc);
Wenn id und key über einstimmen, soll überschrieben werden, wenn der timeStamp weniger als 5sek auseinander liegt und sonst normal hinzufügen.
Nun könnte ich einen Loop über die ganze recordedEvents machen:
Java:
ListIterator<RecEvent> listIterator = recordedEvents.listIterator();
while (listIterator.hasNext()) {
RecEvent ee = listIterator.previous();
if (ee.getObjId().equals(e.getObjId()) && ee.getKey().equals(e.getKey())) {
if ((ee.getTs() + 5000) < e.getTs()) {
listIterator.remove();
recordedEvents.add(e);
break;
} else {
recordedEvents.add(e);
break;
}
}
}
Aber ist das ein dankbarer Weg und klappt das mit dem löschen und neu einfügen so wie im Beispiel oben?
Danke!
Zuletzt bearbeitet: