在LinkedList的构造方法中:
public LinkedList() {
head = null;
size = 0;
}
在这里,head是LinkedList类中的成员变量,并且head本身也是Node类的一个对象。
按照我的理解,head = null 是将head对象不指向任何对象。但是head对象和null是如何通过“=”实现这一目的的呢?
同样的困惑还来自于LinkedList的add方法:
public void add(int index, E e)
{
...
else{
Node prev = head;
for(int i = 0; i < index - 1; i++)
prev = prev.next;
}
...
}
在这里寻找要插入元素的过程中,需要将prev替换为prev所指向的下一个Node对象,这里“=”将两个Node对象进行的是拷贝操作吗,那么拷贝的是“指针”还是什么东西?
本人没有Java基础,用了一些其他计算机语言中的“指针”概念,但这对我理解Java实现链表非常重要,请bobo老师见谅!