我有一個具有Category,Activity和Time格式的HashMap元素的ArrayList。 I.E.將ArrayList <HashMap>轉換爲多維列表
{CATEGORY=Planning, ACTIVITY=Bills, TIME=5}
{CATEGORY=Planning, ACTIVITY=Bills, TIME=7}
{CATEGORY=Planning, ACTIVITY=Meetings, TIME=10}
{CATEGORY=Resources, ACTIVITY=Room1, TIME=15}
....
注意到,被重複,可以在列表
我需要能夠名單轉化爲多維一個發生類別/活動對。我能想到的這個List需要看的最好方式是編寫一些僞代碼......請在帖子的底部看看。
我想過如何實現這一點的幾種不同的方法,但我很坦率地堅持和沮喪在如何做到這一點。我曾經考慮過在外部和內部循環中多次循環ArrayList的低效方法,但我知道這不會是好的編程習慣。
有關如何實現此轉換的任何建議,以便我可以在下面的僞代碼中循環?
For CATEGORY in CATEGORIES {
CategoryTime = 0
Display Category Header
For ACTIVITY in ACTIVITIES {
Activity Time = 0
For TIME_RECORD in ACTIVITY
Add time to activity total time, category total time & grand total
}
Display Activity Total
}
Display Category Total
}
Display Grand Total and rest of information...
編輯 我明白了這個問題給出的所有反饋,它似乎真的去最好的辦法是提高一類HashMap的元素是ArrayList中的一員。
我已經投了票來關閉這個問題,因爲它太過本地化。如果你們其他的開發人員會跟着去解決這個問題,我將不勝感激。我會刪除它,但我不能在這一點上,因爲有問題的答案。
我的袖口建議 - 而不是試圖做一個多維列表,做一些類,並使用它們... – corsiKa 2012-07-16 18:08:56
是的。這對於具有「category」,「activity」和「time」字段的類大聲疾呼。 – 2012-07-16 18:10:47
@corsiKa - 我也想過這樣做,但我想這可以通過使用Collections API實現,而無需製作自定義類... – 2012-07-16 18:11:04