A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 余明辉 中级黑马   /  2012-8-5 19:41  /  4016 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

LinkedList中为什么提供多种类似的add(),如offer() 、push()等,这些当中很多都是一样的啊?

14 个回复

倒序浏览
哥哥 那是override
回复 使用道具 举报
sorry 是overload
回复 使用道具 举报
重载没学过,怎么跑到后面去了,你这卫星跑的也太远了吧,幽默下···  方法重载
回复 使用道具 举报
{:soso_e127:} 我说的是效果一样,是我没说清楚,还是你们都没看清楚题目
回复 使用道具 举报
实现了不同的接口
要看将linkedlist当做什么看吧
作为List使用时,一般采用add方法来 压入/获取对象
作为Queue使用时,才会采用offer等方法
回复 使用道具 举报
谢谢各位,今天上课老师讲了一下,终于明白这些方法在什么时候用最恰当了
回复 使用道具 举报
问题已解决
回复 使用道具 举报
这叫函数的重载,他们虽然名字一样可是传入的参数类型不同
比如add
当你传入 不同类型的数据,就需要接受不同类型的参数,所以就用重载来解决
回复 使用道具 举报
余明辉 发表于 2012-8-6 20:59
问题已解决

:)  什么时候用呀, 给我这自学的讲讲呗。
回复 使用道具 举报
郑枫 发表于 2012-8-6 21:49
什么时候用呀, 给我这自学的讲讲呗。

递归你会吗?比如说复制整个文件夹就要用到递归,但是递归太耗费资源,因为方法内部一直在不停的调用自己,如果这个文件夹足够大的话,内存就不够用了,这个时候就可以考虑用队列,把你要复制的文件中的每个子文件夹,当成一个任务,然后放进队列里面,然后一个一个拿出来复制就行了
回复 使用道具 举报
升级了。
回复 使用道具 举报
余明辉 发表于 2012-8-6 21:53
递归你会吗?比如说复制整个文件夹就要用到递归,但是递归太耗费资源,因为方法内部一直在不停的调用自己 ...

:Q   好专业, 收藏了,慢慢琢磨。  为什么视频上没讲呀。。。
回复 使用道具 举报
郑枫 发表于 2012-8-7 00:13
好专业, 收藏了,慢慢琢磨。  为什么视频上没讲呀。。。

这个算是基础加强了,后面用的多
回复 使用道具 举报
add()方法可以将元素插入到列表中的任意位置上,
而push()将该元素插入此列表的开头,此方法等效于 addFirst(E)。
offer()也只能在列表的开头或结尾处插入元素,方法的效果都区别不大,但返回值有所不同,有返回值是void的,也有是boolean的,如果是返回值是boolean的话可以用来判断是否将元素添加到了该集合中。应该还是有区别的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马