0

リスト内の適切なノードをそれぞれ表す最初、最後の次、前の変数と一緒にリンクされたオブジェクトのリンクされたリストがあります。このリストは正常に機能します。

私は今、それに SUB 値 (サブ二重リンク リスト) を追加しようとしています。親リストの各項目には、独自の双方向リンク リストが含まれます。

元のリンク リスト内の項目を参照できません。

リンクされた値のリストを作成したら、それらにどのようにアクセスしますか?

私が持っているもの:

public class Menu<E> {
private mNode first;
private mNode last;
private mNode previous;
private mNode next;
private int size = 0;

public Menu(){
    first = null;
    last = null;
    previous = null;
    next = null;
}

public Menu(E[] elements){
    for (int i = 0; i < elements.length; i++)
        add(elements[i]);
}

private boolean isEmpty(){
    return first == null;
}

public void add(E e){
    mNode currentNode = new mNode(e);

    if(isEmpty())
        first = currentNode;    
    else if (last == null)
        last = currentNode;
    else{
        last.next = currentNode;
        currentNode.previous = last;
        last = currentNode;
    }

    size ++;

}

mNode クラスはまだ完全には開発されていませんが、参照用にここにあります。

public class mNode<E> {
E element;
mNode<E> first;
mNode<E> last;
mNode<E> previous;
mNode<E> next;
int index;

public mNode(){

}

public mNode(E e){
    element = e;
}

}

繰り返しになりますが、私の質問は、リンクされたリストに一連の要素を追加したら、それを繰り返し処理してすべてを印刷できますが、特定のメニュー項目を見つけて抽出するにはどうすればよいですか?

編集:

明確にするために、私が持っているとしましょう

アイテム 1 <> アイテム 2 <> アイテム 3 <> アイテム 4

すべて最初のリストにあります。親リストの項目 2 に subitem1 <> subitem2 <> subitem3 を追加したい。

アイテム 2 の mNode を参照するにはどうすればよいですか?

メインメソッドで作成したら

Menu list = new Menu();
list.add(values)  // adding all 4 menu items

Item 2 はメニュー内の変数ではないため、実際には list.get(Item 2) を実行できません。

4

3 に答える 3