请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问LinkedList有个remove(Object o),为什么不是remove(E e)?

如标题,请问LinkedList有个remove(Object o),为什么不是remove(E e)?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2024-01-18 11:57:03

抱歉,你说的是课程代码的哪里?给我一个代码的连接,或者视频的位置?


这个课程的代码仓参考这里:https://git.imooc.com/coding-207/coding-207


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 颠覆123 #1
    Java Util下的remove方法:
    public boolean remove(Object o) {
            if (o == null) {
                for (Node<E> x = first; x != null; x = x.next) {
                    if (x.item == null) {
                        unlink(x);
                        return true;
                    }
                }
            } else {
                for (Node<E> x = first; x != null; x = x.next) {
                    if (o.equals(x.item)) {
                        unlink(x);
                        return true;
                    }
                }
            }
            return false;
        }
    
    波波老师的remove方法:
     public void removeElement(E e){
    
            Node prev = dummyHead;
            while(prev.next != null){
                if(prev.next.e.equals(e))
                    break;
                prev = prev.next;
            }
    
            if(prev.next != null){
                Node delNode = prev.next;
                prev.next = delNode.next;
                delNode.next = null;
                size --;
            }
        }
    
    波波老师,我看Java原版的LinkedList的Remove方法传入的参数类型是Object,您是传了E类型的参数,我想请教一下这两种有什么区别呢,为什么Java原版的LinkedList在add方法时传的时E类型参数,但是remove时候却传个object类型的参数呢?
    回复 有任何疑惑可以回复我~ 2024-01-22 08:11:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信