我不明白如何向我的List
添加许多组件以及如何解决这些问题。
public class Element {
public Object object;
public int index;
public Element(Object object){
this.object = object;
}
}
public class LinkedList {
private Element element;
private int nextLink = 0;
private int prevLink;
private int index;
public void add(Object newElement) {
nextLink++;
prevLink++;
this.index = nextLink - prevLink;
if (nextLink == 0) {
prevLink=0;
this.index = 0;
}
else {
prevLink++;
this.index = nextLink - prevLink;}
nextLink++;
System.out.println(element);
Element element = new Element(newElement);
this.element = element;
if (nextLink == 0) {
prevLink=0;
this.index = 0;
}
else {
prevLink++;
this.index = nextLink - prevLink;}
nextLink++;
System.out.println(element);
}
public void get(int index) {
}
public void remove(int index) {
}
}
public class Main {
public static void main(String[] args) {
LinkedList linked = new LinkedList();
linked.add("234");
linked.add("255");
linked.add("1");
System.out.println(linked);
linked.get(1);
}
}
我有一个很大的问题,因为我的列表中只有一个元素,当我想添加新元素时,我的旧元素重写。我不知道如何纠正这个问题.. :(((((
答案 0 :(得分:0)
通常在链表中,元素包含对列表中下一个元素的引用。您的Element
课程似乎无法引用列表中的下一个元素。
链接列表上的维基百科条目可能是一个很好的起点:http://en.wikipedia.org/wiki/Linked_list
答案 1 :(得分:0)
每个元素必须包含指向下一个元素的链接。索引是不必要的,适得其反。
首先将Element类重写为:
public class Element {
public Object object;
public Element next;
public Element(Object object){
this.object = object;
}
}
答案 2 :(得分:0)
我建议创建这样的东西。您需要引用下一个元素。如下面的代码所示。
E是通用类型。它允许您在代码Listnode<String> l;
中创建列表节点showin。泛型的好处是您可以轻松地创建整数的Listnode。像这样。 Listnode<Integer> integerList;
public class Listnode<E> {
//*** fields ***
private E data;
private Listnode<E> next;
//*** constructors **/
// 2 constructors
public Listnode(E d) {
this(d, null);
}
public Listnode(E d, Listnode n) {
data = d;
next = n;
}
//*** methods ***
// access to fields
public E getData() {
return data;
}
public Listnode<E> getNext() {
return next;
}
// modify fields
public void setData(E d) {
data = d;
}
public void setNext(Listnode<E> n) {
next = n;
}
}
这实际上是否实现所有
THIS CREATES A LISTNODE OF STRINGS
现在这段代码创建了一个新节点。该节点称为“l”,l指向“节点”,该节点将值“ant”保存为字符串。您现在还可以看到下一个值为空,如“\”
所示您也可以随意设置/更改值。