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类型的参数呢?