实现一个单链表-java

数据结构

如下:链表从头到尾依次指向
a -> b -> c
java中实现链表的想法就是单个链表嵌套链表
a对象(b对象(c对象))

代码实现

创建节点类及其接口


/**
 * 链表节点
 */
public class ListNode {

    private Object data;
    private ListNode listNode;


    public ListNode(Object data) {
        this.data = data;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public ListNode getListNode() {
        return listNode;
    }

    public void setListNode(ListNode listNode) {
        this.listNode = listNode;
    }
}

创建了一个添加方法,删改也以用此思路

public class ListNodeTest {

    //初始化一个静态链表
    private static ListNode listNode = new ListNode("我是头结点");

    public static void add(ListNode listNode, Object data) {
            if (listNode == null) {
                listNode = new ListNode(data);
                return;
            }
            while (listNode != null) {
                if (listNode.getListNode() == null){
                    listNode.setListNode( new ListNode(data));
                    break;
                }
                listNode = listNode.getListNode();
            }
    }

    public static void main(String[] args) {
        add(listNode,"我是第一个");
        add(listNode,"我是第二个");
        add(listNode,"我是尾结点");
        System.out.println(listNode.getData());
        System.out.println(listNode.getListNode().getListNode().getData());
        System.out.println(listNode.getListNode().getListNode().getListNode().getData());

    }
}

你可能感兴趣的:(算法之美)