链表实现结构说明
如果按照以上的方式(指手动指定关系)来进行链表的实现,那么对于开发者而言会非常痛苦,因为所有的使用者必须自己来处理数据的关系。
所以为了更好的处理应该追加有一个程序类来完成,假设这个类就称为Link类。
但是现在对于程序的初期结构采用如下的方式定义,那么也会出现问题
class Link{//负责链表的操作
//将Node定义为内部类,表示Node类只为Link类服务
private class Node{//负责数据与节点关系的匹配
}
}
public class TestLinkDemo {
public static void main(String[] args) {
}
}
使用私有的内部类可以保证只有Link类才有权操作Node类,而且使用了内部类之后还有一个最明显的特点:
内部类与外部类之间可以方便的进行私有属性的访问,也就是避免了setter与getter方法调用的尴尬
范例:基础的定义结构
class Link{//负责链表的操作
//将Node定义为内部类,表示Node类只为Link类服务
private class Node{//负责数据与节点关系的匹配
private Object data;//保存节点的数据
private Node next;//保存下一个节点
public Node(Object data) {
this.data=data;
}
}
//-----------------以下为Link类定义-------------
}
而后按照以上的模式就而可以编写代码,但是对于链表的核心功能:增加、修改、删除、取出数据、判断某一数据是否存在。