我有一个不错的任务,但不确定这里的优化版本是什么。这是单线程环境。
在 Thunderbird 中,您可以将消息视为树。这将是一个树列表。单击可以从根导航到叶并返回的树元素,可能有其他邮件客户端,但我没有使用其他邮件客户端。这里的任务类似:在树视图中显示消息列表。
Message1
Message1.1
Message1.2
Message1.2.1
Message2
Message3
Message 3.1
等等……我有一个Vector<Message> myMessages
消息简化的 POJO 将是这样的:
class Message{
int id;
int parentID;
String topic;
String content;
}
我的问题很简单:应该使用什么数据结构来存储那棵树?一个 LinkedHashMap 与那些mesageid 的键,它是 parentID = null (主题中的第一条消息),值应该是一个包含所有消息的 ArrayList?- 还是嵌套的 LinkedHashMap?
如何存储 Message 1.2.1 以轻松知道他的父母是谁?
更新:它将在 GWT/html 中列出,而不是 Swing