Java 实现单链表时出现莫名其妙的赋值
Java 实现单链表,OK倒是OK了,但是就是不知道这个 head 是什么时候被赋值的?我根本就没有给 head 这个玩意赋值啊,用 deBug观察,发现每次添加完了,head 就不是 null 了,求各路大神指点
public class Node {
private Object data;//数据域
private Node next;//链域
public Node(Object data) {
this.data = data;
this.next = null;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
public class List {
private Node head;//链表的头节点
public List() {
head = new Node(null);
}
//添加节点
public void add(Node n){
Node p = head;
while(p.getNext() != null){
p = p.getNext();
}
p.setNext(n);
}
//遍历链表
public void display(){
Node p = head.getNext();
while(p != null){
System.out.println(" Data : " + p.getData());
p = p.getNext();
}
}
}
//测试方法
public class Test {
public static void main(String[] args) {
Node head = new Node(null);
Node p = head;
p.setNext(new Node(1));
System.out.println(head.getNext().getData());
}
}
控制台打印 1 ,但是我是给 p 的 next 赋值的啊,跟 head 没关系啊,为什么 head 也有值了

public class Node {
private Object data;//数据域
private Node next;//链域
public Node(Object data) {
this.data = data;
this.next = null;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
public class List {
private Node head;//链表的头节点
public List() {
head = new Node(null);
}
//添加节点
public void add(Node n){
Node p = head;
while(p.getNext() != null){
p = p.getNext();
}
p.setNext(n);
}
//遍历链表
public void display(){
Node p = head.getNext();
while(p != null){
System.out.println(" Data : " + p.getData());
p = p.getNext();
}
}
}
//测试方法
public class Test {
public static void main(String[] args) {
Node head = new Node(null);
Node p = head;
p.setNext(new Node(1));
System.out.println(head.getNext().getData());
}
}
控制台打印 1 ,但是我是给 p 的 next 赋值的啊,跟 head 没关系啊,为什么 head 也有值了
...全文
相关推荐
Java单链表增删改查的实现
在Java编程语言中,单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和指向下一个节点的引用。这个数据结构在处理动态数据集合时非常有用,因为它允许快速插入和删除操作。
基于JAVA的单链表简单实现
在Java中,我们可以使用对象和引用的概念来实现单链表。首先,我们需要创建一个表示链表节点的类Node,它通常有两个属性:data(用于存储数据)和next(用于存储指向下一个节点的引用)。
java实现数据结构单链表示例(java单链表)
在这个实例中,我们将详细讨论如何使用Java实现单链表。1. **单链表节点类(Node)**: - `Node` 类内部定义了两个属性:`data` 和 `next`。
Java实现单链表的基本操作
本文将深入探讨如何使用Java语言实现单链表的基本操作,包括创建链表、插入节点、删除节点以及遍历链表等关键功能。首先,我们需要理解单链表的概念。
Java实现单链表以及单链表的操作.zip
以上就是使用Java实现单链表及其实现的各种操作的详细解析。掌握这些基本操作,能帮助我们在处理复杂问题时更加得心应手。在实际编程中,根据具体需求,还可以扩展链表的功能,例如支持双向链表、循环链表等。


