1

LinkedObject sは重要ではありませんが、LinkedListの動作を模倣したいからです。ネストされたLinkedObject [Java]を作成することは可能ですか?

具体的には、StringであるObjectと、進行中のオブジェクトへの参照を、文字列の配列から作成できるかどうかを調べています。これは、証拠を扱う各人が証拠を誰に渡したかだけを知っている保管の連鎖を形成するために使用されます。

それでは、私はお互いに証拠を渡された5人を持っていたとしましょう:

「フレッド」、「ジェイク」、「ジェーン」、「ベス」、「ZOG」のアレイから

文字列は、私はこのように見えたものを作成したいと思う:

名前:フレッド オブジェクト:ジェイク 名:ジェイク オブジェクト:ジェーン 名:ジェーン オブジェクトベス 名:ベス のObj電気ショック療法:ZOG 名:ZOG オブジェクト:私は無駄にこれを理解するために多くの試みがなされてきたので、


nullを、私はこれを聞いていますのよ。私の試みは失敗したため、提供するコードがありません。私はこの質問に何らかの答えを見つけるために最善を尽くしました。

+0

データ構造レベルでは、「証拠を処理する各人は、誰が証拠を誰に渡したかだけを認識しています」の中で、「唯一の」部分を実際どのように実施できるかはわかりません。リンクされた構造のいくつかの種類を考え出す場合でも、次の男の隣にいる男に、もう一度参照するだけです。 – jingx

+0

私は、犯罪シーンの例がユースケースであるか、問題を説明する方法であるかはわかりません。それがユースケースであれば、次の参照を隠すために各人に '' LinkedObject'''を拡張することができると思います。 – konsolas

答えて

0

シンプルです。

class LinkedObject { 
     final String name; 
     LinkedObject next; 

     LinkedObject(String name) { 
      this.name = name; 
     } 
    } 

    LinkedObject createLinkedList(List<String> names) { 
     LinkedObject head = null; 

     ListIterator<String> it = names.listIterator(names.size() - 1); 
     while(it.hasPrevious()) { 
      if(head == null) head = new LinkedObject(it.previous()); 
      else { 
       LinkedObject o = new LinkedObject(it.previous()); 
       o.next = head; 
       head = o; 
      } 
     } 

     return head; 
    } 

私たちは、クラス、データを格納する文字列フィールドが含まLinkedObject、次のLinkedObjectへの参照を作成しています。最初のLinkedObjectは、リンクされたリストの「ヘッド」と呼ばれ、リスト全体を示します。これはsingly linked listです。

あなたの例では、あなたのリストから 'beth'オブジェクトがある場合、beth.nextの値から 'zog'オブジェクトを見つけることができます。

関連する問題