LinkedList中的remove方法

实在是太坑爹了!!!!!

jdk7的api里面,他有三个remove方法

return typemethodDescription
Eremove()Retrieves and removes the head (first element) of this list.
Eremove(int index)Removes the element at the specified position in this list.
booleanremove(Object o)Removes the first occurrence of the specified element from this list, if it is present.

没错!就是那么坑爹,正常人都会以为是重载的重名方法吧,结果他喵的居然不是!!找原因必须上祖坟去找!

LinkedList实现了List接口,而List接口继承了Collection接口。LinkedList还实现了Queue接口。虽然不是直接实现的,而是实现接口的自接口,但是大概是酱紫的没错了。
Linked===>List—–>Collection。
Linked===>Queue。

  1. Collection中只定义了一个remove方法,就是remove(Object o)
  2. List中定义了另外一个remove方法,是remove(int index)
  3. Queue中定义了最后一个remove方法 ,是remove()

所以根据接口的语义,稍微注意一下还是可以很好区分的,但是依然很坑爹!接口中的函数名重名这种事情在java的核心api中出现简直要死!

这个故事告诉我们,取一个好的函数名称是多么的重要!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值