我试图从日志文件中找到用户操作之间的时间平均差异。因此,例如,对于用户操作ua, login, login
和下一个用户操作ua, disclaimer ok
,我想要减去这两个操作之间的时间,并且对于每次出现特定顺序时,将这些时间加在一起并除以发生的次数模式。哈希映射内的哈希映射的平均值
这是我的HashMap
Map<String, HashMap<String, NumberHolder>> uaCount =
new HashMap<String, HashMap<String, NumberHolder>>();
NumberHolder
被定义为
private class NumberHolder
{
public int occurences;
public int sumtime_in_milliseconds;
}
sCurrentLine
和sNextLine
都像它们的名字表示。迭代时,sNextLine
变为sCurrentLine等等。
在我的代码中,我遍历日志文件,打开它们,检查一行是否是用户操作,声明sCurrentLine
和sNextLine
,并分隔这两行以隔离用户操作部分。然后,我从两行中分离出行动的时间和日期,使用简单的日期格式并解析它们,然后找到差异。我期望的输出是ua, login, login --> ua, disclaimer, ok AVERAGE = 38 seconds
。如果你想看到整个代码只是问。
什么是你的问题? – 2013-03-18 15:10:04
@HotLicks以及我不认为我需要保留最后一次值,只是发生次数和总计时间来计算平均值 – user2007843 2013-03-18 15:10:27
我的问题是如何将出现次数和总和时间添加到基于当前行的散列表中,并且下一行以及如何继续匹配过程 – user2007843 2013-03-18 15:18:06