Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen

annikimbuero

Mitglied
Ich habe eine Datenbank (InfluxDB), die versch. Werte speichert.
Diese kann ich auslesen und die Werte liegen mir in Form einer HashMap vor.
(Werte sind z.B.
Key: sensor, Value: ID_1
Key: temperatur, Value: 20

Nun möchte ich NUR veränderte Werte der DB in einer Liste speichern. Z. B. sobald die Temperatur sich ändert, soll ein neuer Wert für diesen Key gespeichert werden.

Ich habe überhaupt keine Idee wie ich hier vorgehen kann.
 
Zuletzt bearbeitet:

Oneixee5

Top Contributor
Dazu muss eine Punkt mit demselben Schlüssel erzeugt werden (Messung, Tag-Schlüssel und Wert, Zeit), einmal geschrieben, überschreibt er die vorherigen Daten für diesen Punkt.
 

Robert Zenz

Top Contributor
Du brauchst einen Stand "Neu" und einen Stand "Alt", und dann kannst du "Neu" gegen "Alt" vergleichen und feststellen was sich daovn geaendert hat.

Hast du da die zwei Staende die du vergleichen kannst, und wenn ja, wo liegt das Problem welches du beim vergleichen hast?
 

annikimbuero

Mitglied
Du brauchst einen Stand "Neu" und einen Stand "Alt", und dann kannst du "Neu" gegen "Alt" vergleichen und feststellen was sich daovn geaendert hat.

Hast du da die zwei Staende die du vergleichen kannst, und wenn ja, wo liegt das Problem welches du beim vergleichen hast?
Genau die Idee hatte ich auch. Ich wollte die HashMap einfach kopieren (also copy HashMap, die aktuell aus der DB kommt). Aber so hat die Copy IMMER die aktuellen Werte. Ein alter Stand wird niemals erreicht :)
Dazu muss eine Punkt mit demselben Schlüssel erzeugt werden (Messung, Tag-Schlüssel und Wert, Zeit), einmal geschrieben, überschreibt er die vorherigen Daten für diesen Punkt.
Die Anwendung ist für verschiedene User. Somit habe ich keine feste Schlüssel (also Schlüssel, die immer gleich sind für jede Anwendung). Wird die erste HashMap mit ihren Schlüsseln kopiert, so habe ich zu jedem Zeitpunkt eine Kopie der HashMap mit den aktuellsten Werten. Alte Werte werden ja nicht gespeichert, da sich die DB immer aktualisiert
 

Neumi5694

Top Contributor
Naja, wenn du alle aktuellen Werte kopierst, kriegst du auch alle aktuellen Werte raus.
Du kannst removeAll, nutzen, um aus der neuen Map alle alten zu löschen, damit hast du nur die neuen Werte.

Wenn du von einem Programmstart auf den nächsten Unterschiede finden willst, dann muss muss die Änderung in der DB hinterlegt sein und das nicht nur als neuer Wert, sondern mit einem Vermerk, dass sich was geändert hat.
 

annikimbuero

Mitglied
Naja, wenn du alle aktuellen Werte kopierst, kriegst du auch alle aktuellen Werte raus.
Du kannst removeAll, nutzen, um aus der neuen Map alle alten zu löschen, damit hast du nur die neuen Werte.

Wenn du von einem Programmstart auf den nächsten Unterschiede finden willst, dann muss muss die Änderung in der DB hinterlegt sein und das nicht nur als neuer Wert, sondern mit einem Vermerk, dass sich was geändert hat.
Danke für deine Antwort am frühen Morgen :)
Genau, DAS ist erst einmal das Problem, dass jede Kopie IMMER die aktuellen Werte beinhaltet.
Änderungen sollen/können nicht in der DB hinterlegt werden. Das ist eine InfluxDB, die angebunden wird an unser System. Unser System zeigt immer nur den aktualisierten Wert an.

Aufgabe ist: nur 1 gesamte Abfrage an die DB (nicht jede Variable einzeln). Dieses Abfrage-Ergebnis, welches in einer HashMap vorliegt, dann auf aktualisierte Werte überprüfen (z.B. ob sich der Messert(Value) für SensorID1 geändert hat.

Das soll im Code selbst geschehen. Ich bin nun auf die Idee gekommen eine neue leere HashMap zu erstellen. Hier ist dann das Problem, dass ich die gleichen Keys benötige. Da die DB für Kunden ist, die immer unterschiedliche/andere Keys haben, ist auch das ein Problem. Denn dann müsste ich ja wieder mit einer Kopie arbeiten. Aber das geht ja nicht, weil eine Kopie immer auch die aktuellsten Werte vorhält. .....
 

Robert Zenz

Top Contributor
Was genau hast du eigentlich vor? Weil du hast ja offensichtlich keinen "Alt" Stand, also gegen was willst du Aenderungen pruefen? Zu welchem Zeitpunkt willst du Aenderungen pruefen?
 

KonradN

Super-Moderator
Mitarbeiter
Generell ist es so: Das Framework bietet einen guten Grundstock an Klassen, aber dennoch schreibt man sich in der Regel eigene Klassen, die dann die Daten verwalten.

Du brauchst also eine Klasse, die die Daten in einer Map vorhält, aber die Änderungen mitbekommt?

JKa, dann kapsel das doch einfach in eine eigene Klasse! Du hast dann eine Klasse für diese Daten. Die kannst Du z.B. mit einer Map initialisieren.

Und dann bietet die Klasse Methoden zum Zugriff auf die Daten, zum Löschen eines Keys, zum Verändern eines Wertes.
  • Wenn Daten gelöscht werden, dann wird in einem Set deletedKeys das vermerkt
  • Wenn Daten verändert werden, dann gibt es einen Eintrag im Set changedKeys

==> Schon hast Du eine Nachverfolgung von veränderten Werten.

Genau, DAS ist erst einmal das Problem, dass jede Kopie IMMER die aktuellen Werte beinhaltet.
Da ist es wichtig, ein Verständnis zu bekommen, was Du überhaupt machst. Hier vermute ich, dass Du einfach eine Referenz gespeichert hast. Damit hast Du nur eine Map - nur eben zwei Referenzen auf diese.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Alle Daten einer HashMap ausgeben Java Basics - Anfänger-Themen 17
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
J Daten einer Textdatei in ein JTable importieren. Java Basics - Anfänger-Themen 3
P Methoden ausgelesene (CSV-) Daten in Liste einer anderen Klasse einlesen Java Basics - Anfänger-Themen 0
M Junit Tests durchführen, die eine Verbindung zu einer Daten erfordern Java Basics - Anfänger-Themen 3
J Daten von einer PHP Datei ablesen Java Basics - Anfänger-Themen 1
B daten speichern in einer tabelle Java Basics - Anfänger-Themen 5
MiMa Mehrere Daten in einer Variable? Java Basics - Anfänger-Themen 25
M Methoden Daten aus einer SQL-Abfrage in eine mehrdimensionales Array einlesen Java Basics - Anfänger-Themen 7
C Daten einer JTable lassen sich nicht ändern Java Basics - Anfänger-Themen 6
B Daten in Instanz einer Klasse ändern / abfragen Java Basics - Anfänger-Themen 12
S Frage zum speichern der Daten in einer LinkedList Java Basics - Anfänger-Themen 2
Dit_ Daten vom Server in einer Schleife Java Basics - Anfänger-Themen 4
Z Array mit daten einer datenbankbefüllen und dies an eine tabelle geben Java Basics - Anfänger-Themen 6
K daten von jtable auslesen und in einer anderen klasse anzeigen und bearbeiten Java Basics - Anfänger-Themen 7
A Programm mit Daten einer Datei testen Java Basics - Anfänger-Themen 4
T Speicherprobleme von daten in einer datei Java Basics - Anfänger-Themen 5
S Daten aus einer JTable in eine .doc-word- datei exportieren? Java Basics - Anfänger-Themen 7
R Hilfe! Daten aus einer excelliste auslesen und. Java Basics - Anfänger-Themen 3
G Daten in einer Klasse "speichern" Java Basics - Anfänger-Themen 13
U daten aus einer datenbank aus lesen und einfügen Java Basics - Anfänger-Themen 2
J Kann man Daten innerhalb einer Datenstruktur verändern? Java Basics - Anfänger-Themen 4
T Daten in einer Datei überschreiben Java Basics - Anfänger-Themen 13
N Daten von einer Klasse an eine andere übergeben? Java Basics - Anfänger-Themen 4
D ComboBox mit Daten einer Datenenbank Java Basics - Anfänger-Themen 8
P Daten aus Datenbank in einer JComboBox darstellen Java Basics - Anfänger-Themen 4
T Daten aus einer .csv Datei in einen Vector einlesen Java Basics - Anfänger-Themen 3
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
Mady Daten von JList & Combobox in JTable adden Java Basics - Anfänger-Themen 2
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
W Daten in Echtzeit übernehmen Java Basics - Anfänger-Themen 5
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
M Daten aus .txt Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 80
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
E fehlermeldung bei richtigen login daten Java Basics - Anfänger-Themen 7
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
P Schiebefix - ArrayList überschreibt Daten Java Basics - Anfänger-Themen 3
S Daten/Klassen/Packages richtig updaten!? Java Basics - Anfänger-Themen 2
E Wie gebe ich alle Daten zwischen zwei Zeitpunkten aus? Java Basics - Anfänger-Themen 2
M Tabellen- Daten laden Java Basics - Anfänger-Themen 2
A Klasse um daten zu einlesen Java Basics - Anfänger-Themen 26
A Literale für primitive Daten Typen Java Basics - Anfänger-Themen 4
N Zwei Daten (Datum) miteinander vergleichen, abspeichern, laden Java Basics - Anfänger-Themen 4
A Daten auslesen/vergleichen Java Basics - Anfänger-Themen 3
D Sportwetten Daten Atomatisch analysieren um optimale Strategie zu erhalten Java Basics - Anfänger-Themen 6
S Java Daten in Excel speichern Java Basics - Anfänger-Themen 1
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Daten aus ArrayList in Datenbank durchsuchen Java Basics - Anfänger-Themen 5
Shallty Daten speichern und ändern? Java Basics - Anfänger-Themen 32
M Sqlite table löschen und daten einfügen Java Basics - Anfänger-Themen 5
S Binäre-Suche bei unsortierten Daten Java Basics - Anfänger-Themen 7
N Was passiert wenn wir Daten auf der Festplatte abspeichern wollen? bzgl. BufferStreams Java Basics - Anfänger-Themen 9
T Daten von Objekten speichern Java Basics - Anfänger-Themen 7
A Minesweeper - Daten Java Basics - Anfänger-Themen 46
A Eingelesene Daten in Array(Liste) abspeichern? Java Basics - Anfänger-Themen 18
S Daten aus zwei Verschiedenen Tabellen in eine ArrayListe Java Basics - Anfänger-Themen 4
WPS1000 Input/Output Wie aktiviere ich den Daten Transfer von der RS232 in meine Java Applikation Java Basics - Anfänger-Themen 2
R Eigenes Protokoll zur Übermittlung von Daten zum Webserver? Java Basics - Anfänger-Themen 4
A Reader wohin werden Daten gespeichert? Java Basics - Anfänger-Themen 7
M Erste Schritte CSV-File einlesen und Daten verarbeiten Java Basics - Anfänger-Themen 5
S Daten aus eigenständiger .class-Datei abrufen Java Basics - Anfänger-Themen 1
E Daten dem Super Aufruf übergeben Java Basics - Anfänger-Themen 3
M jTabel mit Daten Füllen Java Basics - Anfänger-Themen 5
M Wie erzeuge ich die Differenz von zwei Daten in Stunden?? Java Basics - Anfänger-Themen 2
S Daten lesen und speichern Java Basics - Anfänger-Themen 26
S JTable mit Daten füllen Java Basics - Anfänger-Themen 7
L Java Programm zum Auswerten von Daten Java Basics - Anfänger-Themen 11
H Passwortmanager, Sicherheit der Daten Java Basics - Anfänger-Themen 12
G Best Practice Wie große "Tabellen" effizient durchsuchen und Daten händeln? Java Basics - Anfänger-Themen 15
U Daten aus Datei einlesen Java Basics - Anfänger-Themen 4
M Best Practice Daten-Import /Trabsfomration aus Textdatei Java Basics - Anfänger-Themen 12
R JTable Suchfunktion mit SQL Daten Java Basics - Anfänger-Themen 2
E Daten gehen nicht in Datenbank Java Basics - Anfänger-Themen 14
M Erste Schritte Speichern von mehreren Daten Java Basics - Anfänger-Themen 3
F Daten von Thread an den aufrufenden zurückgeben Java Basics - Anfänger-Themen 22
C Endlosschleife bei füllen von Daten im JTable Java Basics - Anfänger-Themen 5
N Erste Schritte Dedicated Server \ Senden und Empfangen von Daten/Befehlen Java Basics - Anfänger-Themen 2
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
D NPE beim laden von Daten aus MySQL Java Basics - Anfänger-Themen 9
P Einlesen von Daten via BufferedReader Java Basics - Anfänger-Themen 4
F Daten aus Excel-Tabelle in Java importieren Java Basics - Anfänger-Themen 15
F Http Post von mehreren Daten Java Basics - Anfänger-Themen 5
F Daten auf Webserver laden - wiederholen bei Fehler Java Basics - Anfänger-Themen 0
W Best Practice problemabhängige Persistentmachung von Daten Java Basics - Anfänger-Themen 6
P Daten von Internetseite auslesen Java Basics - Anfänger-Themen 10
N Daten/Formular per POST an Firefox/Browser senden Java Basics - Anfänger-Themen 7
D Daten mit Apache POI in eine Excel Datei schreiben Java Basics - Anfänger-Themen 5
T JTable Daten aus txt datei Java Basics - Anfänger-Themen 3
T printf Daten aus der Tabelle in Excel übernehmen Java Basics - Anfänger-Themen 5
P zweidimensionales Array anlegen und mit DB-Daten füllen Java Basics - Anfänger-Themen 14
V Einlesen von Daten Java Basics - Anfänger-Themen 8
J TableView zeigt keine Daten an Java Basics - Anfänger-Themen 14
J Daten im Programm speichern Java Basics - Anfänger-Themen 14
N Interface Daten einem Implementierten Interface zuweisen Java Basics - Anfänger-Themen 37
O Probleme mit CSV Daten Java Basics - Anfänger-Themen 10
M Arrays: Trennung von Daten und Darstellung Java Basics - Anfänger-Themen 1
S Daten aus Array in Klasse übertragen Java Basics - Anfänger-Themen 12
M Wie sicher sind Daten im Java Programm? Java Basics - Anfänger-Themen 9
R Daten via Post an php Script senden Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben