简而言之,我从 XML 解析了这样的数据:
root ---- date1 ---- time 1 ----item 1 ---- prop 1 --- a
| | | | |-- b
| | | |
| | | |- prop 2
| | |
| | |--item 2
| |
| |- time 2
|
|
|- date2 ---- time 1
每个item
都有几个属性(比如 item1 有 prop1 和 prop2)
每个time
都有几个item
s
每个date
都有几个time
s
root 有几个date
s 作为它的孩子
我想使用这些数据:
能够向用户显示每个日期内的内容。例如,如果date1
是当前日期,则显示每个用户item
按 排序time
,只显示这些数据类型,如 Android 谷歌日历的议程视图。
那么请问我应该使用什么数据结构来实现这一点?
我认为可能的候选人是:
- 嵌套的 HashMap,比如
HashMap<Time, HashMap<item1, HashMap<prop1, a>>>;
- SQL数据库,为每个创建表
time
,然后放入item
行,prop
列
这个应用程序在存储数据时不严格保持树状结构是完全可以的,所以我更喜欢SQL数据库,请问各位大神有没有更好的解决方案?
此应用程序将在 Android 上运行,感谢您的帮助。
更新
我对数据库结构的想法:
为每个日期创建数据库表;
然后在每个数据库表中:
time prop1 prop2 prop3
item1
item2
...
然后也许以后我可以通过使用来检索item
s基础。select
time
UPDATE2
我需要为日期创建表,因为某些项目可能是相同的。请想象一下,您在一周的不同日子召开了两次相同的会议。我不能为每个创建表,item
因为从原始 XML 中提取这些信息比创建date
表并将它们放入数据库中很困难。