我有一个对象的链接列表,它们与第一个、最后一个、下一个、前一个变量链接在一起,每个变量代表列表中的适当节点。此列表工作正常。
我现在正在尝试向其中添加 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
全部在第一个列表中。我想将 subitem1 <> subitem2 <> subitem3 添加到父列表中的 Item 2 中。
如何获取第 2 项的 mNode 参考?
在 main 方法中,一旦你创建了一个
Menu list = new Menu();
list.add(values) // adding all 4 menu items
你不能真正做一个 list.get(Item 2) 因为 Item 2 不是菜单内的变量。