Java 单链表的创建

链表的介绍

1,链表是有序的列表,
2,分为有头部的和没有头部的,
3,next域指向下一个节点,next域为null 则链表结束了,
4,链表以节点的方式存储,
5,节点不一定连续存储,存储如下图

2345截图20211011103103.png

链表的创建

PersonNode

public class PersonNode
{
    public int id;
    public String name;
    public String nickName;
    public PersonNode next;

    public PersonNode(int id, String name, String nickName)
    {
        this.id = id;
        this.name = name;
        this.nickName = nickName;
    }

    @Override
    public String toString()
    {
        return "PersonNode{" +
               "id=" + id +
               ", name='" + name + '\'' +
               ", nickName='" + nickName + '\'' +
               '}';
    }
}

SingleLinkedList

public class SingleLinkedList
{
    //先初始化一个头节点,头节点不要动,不存放具体的数据
    private PersonNode head = new PersonNode(0, "", "");

    /**
     * 找到当前链表的最后节点,将最后节点的next 指向 新节点
     */
    public void add(PersonNode personNode)
    {
        //头节点需要不变,因此需要一个辅助temp

        PersonNode temp = head;

        while (true)
        {
            //
            if (temp.next == null)
            {
                break;
            }
            temp = temp.next;

        }
        //

        temp.next = personNode;

    }

    /**
     * 找到当前链表的最后节点,将最后节点的next 指向 新节点
     */
    public void list()
    {

        //
        if (head.next == null)
        {
            Log.d("TAG", "链表为空");
            return;
        }

    PersonNode temp = head.next;
        while (true)
        {
            //
            if (temp == null)
            {
                break;
            }
            System.out.println(temp);
            temp = temp.next;

        }
        //
    }
}

测试

  @Test
    public void showList()
    {
        PersonNode node1 = new PersonNode(1, "刘德华", "AAA");
        PersonNode node2 = new PersonNode(2, "周星驰", "BBB");
        PersonNode node3 = new PersonNode(3, "刘亦菲", "CCC");
        PersonNode node4 = new PersonNode(4, "范冰冰", "DDD");

        SingleLinkedList singleLinkedList = new SingleLinkedList();

        singleLinkedList.add(node1);
        singleLinkedList.add(node2);
        singleLinkedList.add(node3);
        singleLinkedList.add(node4);

        singleLinkedList.list();
    }

输出结果

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容