package mycollection;
/**
- 自定义一个链表
- @author
*/
public class TestLinkedList {
private Node first;
private Node last;
private int size;
//[]
//["a"]
public void add(Object obj) {
Node node = new Node(obj);
if(first == null){
// node.previous = null;
// node.next = null;
first = node;
last = node;
}else{
node.previous = last;
node.next = null;
last.next = node;
last = node;
}
}
public String toString(){
//[a,b,c] first=a; last=c;
//a,b,c
StringBuilder sb = new StringBuilder();
sb.append("[");
Node temp = first;
while(temp != null){
sb.append(temp.element+",");
temp = temp.next;
}
sb.setCharAt(sb.length()-1, ']');
return sb.toString();
}
public static void main(String[] args) {
TestLinkedList list = new TestLinkedList();
list.add("a");
list.add("b");
list.add("c");
System.out.println(list);
}
}
#######################################################################
package mycollection;
/**
- @author
*/
public class Node {
Node previous;//上一节点
Node next; //下一节点
Object element;//元素数据
public Node(Node previous, Node next, Object element) {
super();
this.previous = previous;
this.next = next;
this.element = element;
}
public Node(Object element) {
super();
this.element = element;
}
}