单链表java实现及相关操作(版本1)

先写一个Node类,主要有两个参数,结点数据和结点之间的关系
package lianbiaoDemo01;
public class Node {
    private String data;
    private Node next;
    public Node() {
        
    }
    public String getData() {
        return data;
    }
    public void setData(String data) {
        this.data = data;
    }
    public Node getNext() {
        return next;
    }
    public void setNext(Node next) {
        this.next = next;
    }
}
再写一个测试类,测试类里面可以调用set和get方法,获取和修改结点数据

package lianbiaoDemo01;
public class LinkText {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Node root =new Node();
        Node n1 =new Node();
        Node n2 =new Node();
        Node n3 =new Node();
        Node n4 =new Node();
        
        //设置数据
        root.setData("火车头");
        n1.setData("车厢1");
        n2.setData("车厢2");
        n3.setData("车厢3");
        n4.setData("车厢4");
        //设置数据间的关系
        root.setNext(n1);
        n1.setNext(n2);
        n2.setNext(n3);
        n3.setNext(n4);
        
        //取出数据
        Node current=root;
        while(current!=null) {
            System.out.println(current.getData());
            current=current.getNext();
        }
    }
}

运行结果:

这个版本的缺陷:客户端可以直接对Node进行操作,方法没有封装。下面再第二个版本中进行改进。

原文地址:https://www.cnblogs.com/had1314/p/11172155.html