我正在寫一個代碼來顯示時間與大小。 我正在使用散列表製作條目。問題是,它正確地進行了計算,但最終當我嘗試打印出散列表時,它不會顯示7分鐘內的所有結果。相反,它會顯示last進入7個times.I已經嘗試了很多弄清楚這個問題,但couldn't.Plzz幫我出HashMap打印只是最後一項
這裏是我的代碼
public class Analysis
{
public static class KeepTime
{
String time;
long TotalSize;
}
Main f1 = new Main();
public static int j = 0;
public static int check = 0;
public HashMap<String, KeepTime> hMap_time = new HashMap<String, KeepTime>();
public KeepTime TimerInstance = new KeepTime();
void TimeBasedReporting()
{
String skey;
String key;
int k;
int y;
for (k = 1; k <= f1.Flows().size(); k++)
{
check = 0;
j = 0;
skey = Integer.toString(k);
if (hMap_time.isEmpty())
{
//some code
key = Integer.toString(hMap_time.size() + 1);
hMap_time.put(key, TimerInstance);
j = 1;
}
else if (check == 0 && j == 0)
{
for (y = 1; y <= hMap_time.size(); y++)
{
//some code
}
}
}
if (check == 0 && j == 0)
{
// some code
key = Integer.toString(hMap_time.size() + 1);
hMap_time.put(key, TimerInstance);
}
else
{}
}
}
}
以下爲輸出
03:08:39,AM 424
03:08:39,AM 424
03:08:39,AM 424
03:08:39,AM 424
03:08:39,AM 424
03:08:39,AM 424
03:08:39,AM 424
03:08:39,AM 424
03:08:39,AM 424
03:08:39,AM 424
乍看之下,你似乎在濫用「地圖」。它看起來像你真的想使用'List'。 – Bombe 2012-04-15 12:16:59
可能'hMap_time.size()'1 – 2012-04-15 12:18:11