您现在的位置是:首页 > 正文

单向链表的实现方式JAVA

2024-01-30 21:06:02阅读 0
public class Node {
    Object value;
    Node next;

    public Node(String value){
        this.value =  value;
    }
}

public class LinkedListTest {
    Node first;
    Node last;

    public void add(Node node){
        if(first == null){
            first = node;
            last = node;
        }else{
            last.next = node;
            last = node;
        }
    }

    public Node getFirstNode(){
        return first;
    }

    public Node getLastNode(){
        return last;
    }

    public int getSize(){
        int size = 0;
        Node node = first;
        while(node != null){
            size ++;
            node = node.next;
        }
        return size;
    }

    public static void main(String[] args) {
        LinkedListTest link = new LinkedListTest();
        Node node1 = new Node("node1");
        Node node2 = new Node("node2");
        Node node3 = new Node("node3");
        link.add(node1);
        link.add(node2);
        link.add(node3);
        System.out.println(link.getSize());
        System.out.println(link.getFirstNode().value);
        System.out.println(link.getLastNode().value);
    }

}


第一次赋值 first last 都是N1, 他们虽然不同的引用,但是指向同一个实例
然后 last被赋值N2, N3来的时候 就是操作 last N2的 next,(lastN2的next=first 的next)也就是说在间接操作 first的next的next

网站文章