节点定义,成员分析,构造方法和add方法实现

本文介绍了如何在Java中实现链表结构,包括定义内部类Node,包含数据和指向下一个节点的引用。此外,详细阐述了LinkedList类的构造方法,用于初始化头节点并设置size为0。还探讨了add方法的实现,通过遍历找到链表的末尾,然后添加新节点,并更新size。
摘要由CSDN通过智能技术生成

怎么添加成员呢?

 

       链式结构的节点类型还没有呢。假设是Node。那么LinkList里面需要一个头节点,其他的先不管。

 

这个Node我可以将它设置为一个内部类。它很简单,所有人都知道。

private class Node{

       private T data;

       private Node next;

       public T getData() {

           return data;

       }

       public void setData(T data) {

           this.data = data;

       }

       public Node getNext() {

           return next;

       }

       public void setNext(Node next) {

           this.next = next;

       }

      

    }

 

 

既然Node类型有了,那么就该认真的考虑这个类需要什么成员了,看看有什么方法吧?

 

1:构造方法,初始化一个链式的结构就行啦,所有人都知道了。头结点不是有效的数据节点。不保存数据。这个方法,很明显需要一个Node成员,同时为表明容器中对象的数量,还要size。所以,前2个成员就是

private Node head;

private int size;

构造方法:

public LinkedList(){

       head = new Node();

       size = 0;

       head.data = null;

       head.next = null;

    }类似于这样的结构:

 

2:add方法。无需其他的成员啊。

边编程边分析

 

@Override

    public void add(T obj) {

       Node added = new Node();

       added.setData(obj);

       added.setNext(null);

       //设置一个游标,游动到列表的最后一个元素

       Node curr = head;

       while(curr.next != null)

           curr = curr.next;

       //added加到最后元素的后面

       curr.next = added;

       size++;

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值