我需要实现一个Node类,其基本方法是:getItem(),getNext(),setItem()和setNext()。我希望节点能够在Java中至少存储默认的整数范围作为“项目”; “next”应该是链接列表中下一个节点的引用或指针,如果这是列表中的最后一个节点,则应该是特殊节点NIL。我还想实现一个双参数构造函数,它使用给定的初始化实例item(第一个参数)和下一个节点(第二个参数),我有点打砖墙,需要一些关于实现这个,任何想法的指导?
到目前为止,我有这个:
class Node {
public Node(Object o, Node n) {
}
public static final Node NIL = new Node(Node.NIL, Node.NIL);
public Object getItem() {
return null;
}
public Node getNext() {
return null;
}
public void setItem(Object o) {
}
public void setNext(Node n) {
}
}
答案 0 :(得分:1)
答案 1 :(得分:0)
我可以快速提示你如何做到这一点:
{% for organization in organizations %}
{
value: {{ organization.value }},
color: "#F56954",
label: "{{ organization.name }}"
},
{% endfor %}
您可以通过调用:
来创建Node对象Class Node{
//these are private class attributes, you need getter and setter to alter them.
private int item;
private Node nextNode;
//this is a constructor with a parameter
public Node(int item)
{
this.item = item;
this.nextNode = null;
}
// a setter for your item
public void setItem(int newItem)
{
this.item = newItem;
}
// this is a getter for your item
public int getItem()
{
return this.item;
}
}
对于您的问题,这不是一个完整的解决方案,缺少两个参数构造函数和最后一个节点链接,但这应该会引导您找到正确的方向。
答案 2 :(得分:0)
下面是Node实现的一个简单示例(为了便于阅读,我将Item重命名为Value)。它必须以某种方式实现,因为方法签名似乎是强加给你的。但请记住,这绝不是实现LinkedList的最佳方式。
public class Node {
public static final Node NIL = null;
private Integer value;
private Integer next;
public Node(Integer value, Node next) {
this.value = value;
this.next = next;
}
public Integer getValue() {
return this.value;
}
public Node getNext() {
return this.next;
}
public void setValue(Integer value) {
this.value = value;
}
public void setNext(Node next) {
this.next = next;
}
public boolean isLastNode() {
return this.next == Node.NIL || Node;
}
}
public class App {
public static void main(String[] args) {
Node lastNode = new Node(92, Node.NIL);
Node secondNode = new Node(64, lastNode);
Node firstNode = new Node(42, secondNode);
Node iterator = firstNode;
do () {
System.out.println("node value : " + iterator.getValue());
iterator = iterator.getNext();
} while (iterator == null || !iterator.isLastNode());
}
}