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

来源:4-5 从链表中删除元素

颠覆123

2024-01-17

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

1回答

liuyubobobo

2024-01-18

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


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


继续加油!:)

0
1
颠覆123
Java Util下的remove方法: public boolean remove(Object o) { if (o == null) { for (Node x = first; x != null; x = x.next) { if (x.item == null) { unlink(x); return true; } } } else { for (Node 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
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程