我正在寻找一种实现具有双链表节点功能的类的方法。我不想重新发明轮子,但我不会在标准的java库中看到任何合适的东西,而且我在这个网站上找不到答案。
我需要的是拥有一个对象数组,其中每个对象都知道它的邻居:就像标准java.util.LinkedList
中的私有类Note。
这里有几点说明:
1)我可以使用java.util.LinkedList
因为存储的对象没有链接到邻居。
2)我可以使用java.util.LinkedList
ListIterator - 首先,我不想迭代所有列表以找到对象,而我不会&#39 ; t保持对象索引在任何地方 - 因为这将破坏程序的完整性。我不能出于同样的原因将Iterator保留在任何地方。
我需要的是具有插入/删除功能的对象列表, 当我传递周围的对象时,我需要能够让代码访问对象邻居(上一个/下一个)。
我认为Java库没有这个?如果我自己实现这一点,那就会变得更糟。
3)我无法创建基本的Node类,它将由我自己的类扩展以列出。我的派生类不是一个节点,这将破坏java的继承范式。
4)我无法创建Node接口,因为它不具备可变成员(" prev"" next")
答案 0 :(得分:0)
如果您希望您的班级能够看到彼此相邻的节点并且#34;,您可以随时向您的班级提供其自己的变量prev和next,并定义插入方法。
public class MyClass {
public MyClass prev;
public MyClass next;
// Using string as an example for data
String data;
public void insert(MyClass myclass, String insert_after) {
// will depend if you want it sorted or not
}
public void delete(String delete) {
// itterate through recursively to find the node with
// next.data equal to remove then replace next with next.next
}
}
请注意,这是在手机上输入的(@ 5am),请随时评论错误。