Category、Activity、Time の形式を持つ 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 がメンバーであるクラスを拡張することです。
ローカライズされすぎているため、別の人と同様に、この質問を閉じるために投票しました。他の開発者の何人かがそれに続いて質問を締めくくることができれば幸いです。削除しますが、質問への回答があるため、現時点では削除できません。