我有一个 HashMap 元素的 ArrayList,其格式为类别、活动和时间。IE
{CATEGORY=Planning, ACTIVITY=Bills, TIME=5}
{CATEGORY=Planning, ACTIVITY=Bills, TIME=7}
{CATEGORY=Planning, ACTIVITY=Meetings, TIME=10}
{CATEGORY=Resources, ACTIVITY=Room1, TIME=15}
....
记下重复的 CATEGORY/ACTIVITY 对,因为这可能在列表中发生
我需要能够将此列表转换为多维列表。对于这个列表的外观,我能想到的最好方法是编写一些伪代码……请在帖子底部查看。
我已经想到了几种不同的方法来实现这一点,但坦率地说,我对如何做到这一点感到困惑和沮丧。我曾考虑过在外部和内部循环中多次循环 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 所属的类。
我已经投票结束这个问题,因为它太本地化了。如果你们中的一些其他开发人员能效仿以结束这个问题,我将不胜感激。我会删除它,但我现在不能,因为有问题的答案。