Ich arbeite an einem Projekt, bei dem ich feststellen muss, wann ein Fahrereignis endet. Eine Funktion erhält eine HashMap<Date, Integer>
, die Konfidenzniveaus in Fahrzeug/zu Fuß in Form eines Prozentsatzes neben einem Unix-Zeitstempel enthält.Java HashMap-Iteration zum Finden eines Fahrer-Endereignisses
Ich versuche, über diese HashMap zu iterieren, festzustellen, ob ein treibendes Ereignis beendet wurde.
Ich bin ein PHP-Entwickler und es ist eine echte Herausforderung, Java-Logik wie diese zu verwenden, und ich kämpfe darum, etwas zu erreichen, das einfach sein sollte. Jede Hilfe wird geschätzt.
Heres die Logik Ich versuche zu implementieren:
wie dieseIf
we have at least 1 minute worth of data with 10 items in our HashMap
then
loop HashMap
if past 30 seconds of time, from 30 seconds ago contain driving data of 60% confidence adverage or above then
AND past 30 seconds of time from now contains working data with average 60% confidence or above
then
mark isDriving as true
if isDriving == true
then
doSomething()`
Mein HashMap sieht etwas: Dies ist nur eine Teilantwort
private HashMap mActivityData = new HashMap<String, Long>();
mActivityData.putExtra("in_vehicle",80); // % confidence
mActivityData.putExtra("on_foot",10); // % confidence
mActivityData.putExtra("time",1461684458); // unix time stamp
Erhalten Sie Ihre Generika richtig, z. Für die angezeigten Daten: 'private HashMap mActivityData = new HashMap <>();' –
Tatsächlich sieht eine Map hier nicht korrekt aus, wenn die Werte verschiedene Typen sind (% vs. Timestamp). Angenommen, Sie müssen keine neuen Schlüssel dynamisch erstellen, verwenden Sie einfach drei richtig typisierte Variablen: 'double in_vehicle; double on_foot; Datum Uhrzeit; '. –
Was genau ist deine Frage? Was hast du versucht und wo versagt es? –