java实现单链表(删除时超过链表范围则抛出NoSuchElementException()异常)

import java.util.LinkedList;
import java.util.NoSuchElementException;
import java.util.Objects;

public class DanLianBiao<E> {  
    private    Node<E>  first;
   public   DanLianBiao()   //初始化 实例单链表对象
   {
       first=new Node<>(null,null);
   }

   public  void  put(E e){   //添加元素
       Node<E> curr=first;
       while (curr.next!=null){
             curr=curr.next;
       }
       curr.next=new Node<E>(e,null);
   }
   public void  out(){    //输出元素
       Node<E>  curr=first;
       while (curr.next!=null) {
           curr=curr.next;
           System.out.println(curr.e);       }
       }
    public  E  RemoveFirst(){     //从前删除 并且返回最前面的值
       E remove;
       if(first.next!=null) {
           remove=first.next.e;
           first.next = first.next.next;
           return remove;
       }
         throw new NoSuchElementException();   
    }
    public  boolean  isExist(E e){  //元素是否存在
       Node<E> curr=first;
       while (curr.next!=null)
       {
           boolean bool=Objects.equals(curr.next.e,e);
           if(bool)
                return bool;
           curr=curr.next;
       }
       return  false;
    }
    public  boolean isEmpty()   //元素是否为空
    {
        return first.next==null;
    }

    

    private  static  class  Node<E>{  //创建Node类 类部节点
        E e;
        Node<E>  next;
        Node(E e,Node<E> next){
            this.e=e;
            this.next=next;
        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值