序言
由于Java语言中没有指针,因此可以将每个结点包装成类,利用其中一个成员属性将一个一个单独的结点连接起来。
Java指针已经被抽象成了引用,引用可以看成是一个功能受限的指针(或者说被阉割的指针)
对于数据结构,语言的选择不会影响它的表达,真正理解它的意义才更为重要。
Node
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class Node<T> //单链表结点类,T指定结点的元素类型 { public T data; //数据域,存储数据元素 public Node<T> next; //地址域,引用后继结点 public Node(T data, Node<T> next) //构造结点,data指定数据元素,next指定后继结点 { this.data = data; //T对象引用赋值 this.next = next; //Node<T>对象引用赋值 } public Node() { this(null, null); } public String toString() //返回结点数据域的描述字符串 { return this.data.toString(); } }