1 package cn.itsource._04LinkList;
 2 
 3 public class LinkList {//创建链表类
 4     Node first;//第一个Node类型容器
 5     
 6     public void add(Object obj) {//添加数据
 7         Node node = new Node(obj);//每添加一个数据就会重新建一个容器
 8         if(first==null){
 9             first = node;
10         }else{
11             Node temp = first;//将第一个容器置于链表顶端
12             while(temp.next!=null){//判断容器内是否保存有下一个容器地址值
13                 temp=temp.next;//循环查找不为空就将其置于置顶
14             }
15             temp.next=node;//将最新传入的容器地址保存
16         }
17     }
18     
19     public String toString(){//覆写方法toString方法
20         StringBuilder sb = new StringBuilder("[");
21         Node temp = first;
22         //第一种写法
23         /*while(temp.next!=null){
24             sb.append(temp.date).append(",");
25             temp = temp.next;
26         }
27             sb.append(temp.date).append("]");
28             return sb.toString();*/
29         //第二种写法
30         while(temp!=null){
31             if(temp.next!=null){//说明是中间节点
32                 sb.append(temp.date).append(",");
33             }else{//末尾节点
34                 sb.append(temp.date).append("]");
35             }
36             temp = temp.next;
37          }
38         return sb.toString();
39     }
40 }
41 
42 
43 class Node{//建一个容器 
44     Object date;//容器里保存的数据
45     Node next;//next保存的是下一个容器的地址
46     Node(Object obj){
47         this.date=obj;//将传入的数据放入容器保存数据的地方
48     }
49 }