黑马程序员技术交流社区

标题: 有关LinkList容器底层实现的add(Object obj);真是不理解。。。。 [打印本页]

作者: 1774055019    时间: 2015-11-13 21:52
标题: 有关LinkList容器底层实现的add(Object obj);真是不理解。。。。
public void add(Object obj){
if(first==null){
Node n=new Node();
n.setPrevious(null);
n.setObj(obj);
n.setNext(null);
first=n;
last=n;
}else{
Node n=new Node();
n.setPrevious(last);
n.setObj(obj);
last.setNext(n);//是这么写,为什么这么写,下面的语句不是把last给覆盖掉了么,真不知道这语句有何用,但是少了这语句,使用get(index)读取时马上报错
last=n;
}
size++;


Node 的类是这样的
package collction;


public class Node {
Node previous;
Object obj;
Node next;
public Object getPrevious() {
return previous;
}
public void setPrevious(Node previous) {
this.previous = previous;
}
public Object getObj() {
return obj;
}
public void setObj(Object obj) {
this.obj = obj;
}
public Object getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}

}
作者: 大师兄与二师兄    时间: 2015-11-13 21:55
这是链表呀。last始终指向最后一个,当将n加入之后,n就是最后一个了,这时候就需要将游标指针也就是last指向n 学数据结构的时候用的c语言实现的,这个应该差不多




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2