Hi,
ich schreibe in eine HachMap eine IP (Key) und die aktuelle Systemzeit (Value).
Wie kann ich abfragen, ob ein Eintrag schon in der HashMap steht oder nicht.
Wenn ja, soll die eingetragene Zeit mit der aktuellen Systemzeit verglichen werden und es soll geprüft werden, ob die eingetragene Systemzeit älter ist als 2 Sekunden.
Wenn sie älter als zwei Sekunden ist, soll der Eintrag überschrieben werden.
Wenn sie nicht älter ist, soll nix passieren.
Hier mal bisheriger code
Weiß momentan nicht weiter.
Danke für eure Hilfe
Gruß Robin
ich schreibe in eine HachMap eine IP (Key) und die aktuelle Systemzeit (Value).
Wie kann ich abfragen, ob ein Eintrag schon in der HashMap steht oder nicht.
Wenn ja, soll die eingetragene Zeit mit der aktuellen Systemzeit verglichen werden und es soll geprüft werden, ob die eingetragene Systemzeit älter ist als 2 Sekunden.
Wenn sie älter als zwei Sekunden ist, soll der Eintrag überschrieben werden.
Wenn sie nicht älter ist, soll nix passieren.
Hier mal bisheriger code
Code:
// Abfangen von mehrfachen Klickens mit Hilfe einer Anfragenverwaltung
HashMap hm = new HashMap();
long ms = 2000;
Long time = new Long(System.currentTimeMillis()); // aktuelle Systemzeit
boolean alreadyThere = false;
// abfragen, ob schon ein Eintrag in der HashMap steht
if(alreadyThere == true) {
hm.get(ip);
if(...).... ?
}
else if(alreadyThere == false) {
// Elemente in die Map einfügen
hm.put(ip,time);
// Ein Set mit Einträgen holen
Set set = hm.entrySet();
// Einen Iterator erzeugen
Iterator it = set.iterator();
// Elemente anzeigen lassen
while(it.hasNext()) {
Map.Entry me = (Map.Entry)it.next();
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
// Übergeben des Requests an die Methode DBentry()
this.DBentry(image,cmdV,cmd0,cmd1,cmd2,ip,status,model);
// Wert auf true setzen, da er nun in der Map steht
alreadyThere = true;
}
Weiß momentan nicht weiter.
Danke für eure Hilfe
Gruß Robin