1、基本介绍:
为解决空间浪费等问题,应采用火车车厢的设计模式,动态进行车厢的挂载。
//单链表
class Node{
private Object data;
private Node next;
public Node(Object data) {
this.data = data;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
public class Test0124 {
public static void main(String[] args) {
//1.封装节点
Node root = new Node("火车头");
Node n1 = new Node("车厢A");
Node n2 = new Node("车厢B");
Node n3 = new Node("车厢C");
//2.设置车厢关系,即挂载
root.setNext(n1);
n1.setNext(n2);
n2.setNext(n3);
//3.依次取出节点
getNodeData(root);
}
public static void getNodeData(Node node){
if (node != null) {
System.out.print(node.getData());
if (node.getNext() != null) {
System.out.print(" -> ");
}
getNodeData(node.getNext());
}
}
}
运行结果:
火车头 -> 车厢A -> 车厢B -> 车厢C
在整个链表实现过程中,Node类的核心作用在于保存数据和连接节点关系。但是,客户端需要自己创建节点以及配置。所以链表需要一个单独的类Link,通过Link来实现Node类的数据保存以及关系处理。