Java 消息树列表

Java 消息树列表,java,data-structures,Java,Data Structures,我有一个很好的任务,不确定哪一个是这里的优化版本。这是单线程环境 在Thunderbird中,您可以将消息视为树。这将是一个树木列表。单击树元素,您可以从根导航到叶,然后返回,可能还有其他邮件客户端,但我没有使用其他客户端。这里的任务类似:在树状视图中显示消息列表 Message1 Message1.1 Message1.2 Message1.2.1 Message2 Message3 Message 3.1 等等。。。我有一个向量myMessages 一条消息是这样的

我有一个很好的任务,不确定哪一个是这里的优化版本。这是单线程环境

在Thunderbird中,您可以将消息视为树。这将是一个树木列表。单击树元素,您可以从根导航到叶,然后返回,可能还有其他邮件客户端,但我没有使用其他客户端。这里的任务类似:在树状视图中显示消息列表

Message1
  Message1.1
  Message1.2
     Message1.2.1
Message2
Message3
   Message 3.1
等等。。。我有一个
向量myMessages

一条消息是这样的:

class Message{
      int id;
      int parentID;
      String topic;
      String content;
}
我的问题很简单:应该使用什么数据结构来存储该树? 一个LinkedHashMap,其键为那些mesageid,其中hs的parentID=null(主题中的第一条消息),其值应为包含所有消息的ArrayList?-还是嵌套的LinkedHashMap

如何存储信息1.2.1以便于知道谁是他的父母

更新:它将在GWT/html中列出,而不是在Swing中列出。您是否考虑过它的基本特性?我不清楚您是否希望显示数据,但无论如何,我会尝试利用这项工作,因为它功能丰富,看起来很适合您的问题

更新:当您使用GWT时,请查看您考虑过的问题和基础问题?我不清楚您是否希望显示数据,但无论如何,我会尝试利用这项工作,因为它功能丰富,看起来很适合您的问题


更新:当您使用GWT时,请查看

?您考虑过使用JAXB吗?您可以使用消息所需结构的XSD,它将生成一个java类,例如:MessageType
然后,您可以为消息创建一个数组,并从getter方法中获取子属性。

您考虑过使用JAXB吗?您可以使用消息所需结构的XSD,它将生成一个java类,例如:MessageType
然后你可以为你的消息创建一个数组,你可以从getter方法中获得子属性。

+1,谢谢,但是我已经有了数据库+1中的数据列表,谢谢,但是我已经有了数据库中的数据列表-作为更新,我不会完全使用树,但是这里需要一个树模型,不需要重新发明轮子,问题解决-作为更新,我将不完全使用树,但树模型需要在这里,不需要重新发明轮子,问题解决了