我試圖從日誌文件中找到用戶操作之間的時間平均差異。因此,例如,對於用戶操作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