0

私には素晴らしい仕事がありますが、ここで最適化されたバージョンがどれであるかわかりません。これはシングルスレッド環境です。

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;
}

私の質問は簡単です。そのツリーを格納するためにどのデータ構造を使用する必要がありますか?parentID = null(トピックの最初のメッセージ)であるメッセージIDのキーを持つLinkedHashMapであり、値はすべてのメッセージを含むArrayListである必要がありますか?-またはネストされたLinkedHashMap?

メッセージ1.2.1を保存して、彼の親が誰であるかを簡単に知る方法は?

更新:SwingではなくGWT/htmlにリストされます

4

2 に答える 2

2

JTreesとその基礎となるTreeModelを検討しましたか?データを表示するかどうかはわかりませんが、機能が豊富で問題に自然に適合するように見えるため、この作業を活用しようと試みます。

更新:GWTを使用しているので、GWTツリーを確認してください

于 2013-02-19T18:48:11.240 に答える
1

¿JAXBの使用を検討しましたか?メッセージに必要な構造を持つXSDを作成して、Javaクラスを生成できます。例:MessageType次に、メッセージの配列を作成し、getterメソッドからサブ属性を取得できます。

于 2013-02-19T18:51:28.537 に答える