gpt4 book ai didi

Java HashMap迭代查找驱动结束事件

转载 作者:行者123 更新时间:2023-11-30 01:22:41 24 4
gpt4 key购买 nike

我正在做一个项目,我必须确定驾驶事件何时结束。函数被赋予 HashMap<Date, Integer>包含百分比形式的车内/步行置信度和 unix 时间戳。

我正在尝试迭代此 HashMap,确定驾驶事件是否已结束。

我是一名 PHP 开发人员,像这样使用 Java 逻辑是一个真正的挑战,我正在努力实现一些本应简单的东西。任何帮助表示赞赏。

这是我要实现的逻辑:

If 
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()`

我的 HashMap 看起来像这样:

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

最佳答案

这只是部分答案。

你在你的问题中提到了“loop HashMap { ... } ”,但你只能循环 hashmap 的键。 (或使用 .values() 的值)

获取 HashMap<Date, Integer> 的 key :

Set<Date> dates_unordered = my_hashmap.keySet ();

Set 是无序的,要对其进行排序,请使用类似 this one 的函数创建有序列表。 (“Date”类实现了排序工作所需的“Comparable”接口(interface))

List<Date> dates_ordered = asSortedList (dates_unordered);

遍历列表。

Iterator<Date> it = dates_ordered.iterator (); // create an iterator object
while (it.hasNext ())
{
Date d = it.next ();
Integer i = my_hashmap.get (d); // access value in hashmap with this key

// do something with "i" here
// ...
}

关于Java HashMap迭代查找驱动结束事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36870812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com