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 }