我有一个具有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