怎么添加成员呢?
链式结构的节点类型还没有呢。假设是Node。那么LinkList里面需要一个头节点,其他的先不管。
这个Node我可以将它设置为一个内部类。它很简单,所有人都知道。
private class Node{
private T data;
private Node next;
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
既然Node类型有了,那么就该认真的考虑这个类需要什么成员了,看看有什么方法吧?
1:构造方法,初始化一个链式的结构就行啦,所有人都知道了。头结点不是有效的数据节点。不保存数据。这个方法,很明显需要一个Node成员,同时为表明容器中对象的数量,还要size。所以,前2个成员就是
private Node head;
private int size;
构造方法:
public LinkedList(){
head = new Node();
size = 0;
head.data = null;
head.next = null;
}类似于这样的结构:
2:add方法。无需其他的成员啊。
边编程边分析
@Override
public void add(T obj) {
Node added = new Node();
added.setData(obj);
added.setNext(null);
//设置一个游标,游动到列表的最后一个元素
Node curr = head;
while(curr.next != null)
curr = curr.next;
//把added加到最后元素的后面
curr.next = added;
size++;
}