JAVA实现链表分析

创建单链表

大家都知道单链表的每一个单位都是由其本身和下一个单位的索引构成的
那么如果要用java来实现单链表的话该如何实现呢
接下来我们用西游记人物来模拟一下单链表的形成过程
下面展示一些 创建过程代码

public class SingleListDemo {
    public static void main(String[] args) {
        xiyou sun = new xiyou(1, "孙悟空");
        xiyou tang = new xiyou(2, "唐僧");
        xiyou zhu = new xiyou(3, "猪八戒");
        xiyou sha = new xiyou(4, "沙僧");
        SingleList list = new SingleList();
        list.add(sun);
        list.add(tang);
        list.add(zhu);
        list.add(sha);

        list.list();

    }
}
    class SingleList{
        //创建头节点
        xiyou head = new xiyou(0,"");
        //添加方法
        public void add(xiyou xiyou){
            xiyou temp = head;
            while (true){
                if (temp.next ==null){
                    temp.next=xiyou;
                    break;
                }
                temp = temp.next;
            }
        }
        //遍历方法
        public void list(){
            if (head.next==null){
                System.out.println("链表为空");
                return;
            }
            xiyou temp = head.next;
            while (true){
                if (temp==null){
                    break;
                }
                System.out.println(temp);
                temp=temp.next;
            }
        }
    }

      class xiyou{
        public int id;
        public String name;
        public xiyou next;

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

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


其中细节

创建单链表单元类xiyou
创建单链表类
创建主方法

  1. 在创建单元类时注意包含此单元特征结构与下一个单元的索引(下一个单元实例)
  2. 在重写该单元tostring方法时不添加下一个单元实例的展示
  3. 单链表类中包含添加方法(add)以及遍历展示方法(list)
  4. 编写add方法时进入死循环时判断循环结束条件再进行下一步循环增加代码可读性提升代码质量
  5. list方法开始之前判断链表是否为空提升代码健壮性

运行结果

xiyou{id=1, name='孙悟空'}
xiyou{id=2, name='唐僧'}
xiyou{id=3, name='猪八戒'}
xiyou{id=4, name='沙僧'}

Process finished with exit code 0

结论

通过结果我们发现所谓单链表其实就是两个部分单元体和索引(下一个目标)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值