Java中创建一个单向链表的方法

LinkedList,又名为“链表”,是一种常见的数组结构。在Java语言中,可以使用面向对象的方法来创建单向链表。那么,在创建之前,我们必须对其结构有些简单了解。

1. LinkedList的结构特征

LinkedList(链表)的结构很简单,它是由一个一个的“节点”(Node)不断相连,最终形成一个像“链”一样的结构。从下图可以对链表的结构有个直观的了解。
一个单链表

· 结点(Node)
由上图可以看到,结点是一个链表存在的基本要素。因此,创建链表时,我们就可以把“结点”定义为一个类。而这个类的内部就包含节点的两个部分:“数据”和“下个节点的地址”。以下为相关类结构定义:

class Node{
   
        // 一个节点包括data,next两个属性
        private String data;
        private Node next;

· 根(Root)
一个链表结构想要不断向下延伸,必须要有一个“源头”。此处的“源头”又叫做“根节点(root)”,根节点也属于节点,因此也可以使用创建节点的办法创建根节点。

有了以上两个要素后,接下来就可以对节点进行操作了。之前我们了解过数组,我们可以对数组中的数据进行“添加”,“删除”,“遍历”,“查询”的操作。而链表也可以实现同样的办法:

2. 对单个节点进行操作

简单来讲,要想实现对整个链表进行操作,首先要考虑的是对单个节点进行操作。

增加节点

public void add(Node newNode){
   
            // 添加新节点
            if (this.next == null){
   
                // 如果下一个节点为空,即可直接添加
                this.next = newNode;
            }else {
   
                // 否则再次调用Node方法,查找下一个可用的空间
                this.next.add(newNode);
            }
        }

删除节点

public void delete(Node pre, String data){
   
            // 删除方法
            if (data.equals(this.data)){
   
                // 数据相同时,把下一个节点地址覆盖到上一个节点地址即可
                pre.next = this.next;
            }else {
   
                // 同样是判断还有没有下一个节点
                if (this.next!=null){
   
                    this.next.delete(this, data);
                }
            }
        }

遍历打印节点

public void print(){
   
            // 打印方法,直接打印data数据,并判断是否有下个节点,有的话就继续打印
            System.out.print(this.data+"-->");
            if (this.next!=null){
   
                this.next.print
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值