黑马程序员技术交流社区

标题: LinkedList中怎么有那么多重复的方法 [打印本页]

作者: 余明辉    时间: 2012-8-5 19:41
标题: LinkedList中怎么有那么多重复的方法
LinkedList中为什么提供多种类似的add(),如offer() 、push()等,这些当中很多都是一样的啊?
作者: 2b青年。    时间: 2012-8-5 21:16
哥哥 那是override
作者: 2b青年。    时间: 2012-8-5 21:17
sorry 是overload
作者: 朱烈葵    时间: 2012-8-5 21:21
重载没学过,怎么跑到后面去了,你这卫星跑的也太远了吧,幽默下···  方法重载
作者: 余明辉    时间: 2012-8-5 21:32
{:soso_e127:} 我说的是效果一样,是我没说清楚,还是你们都没看清楚题目
作者: 胡文凡    时间: 2012-8-5 22:54
实现了不同的接口
要看将linkedlist当做什么看吧
作为List使用时,一般采用add方法来 压入/获取对象
作为Queue使用时,才会采用offer等方法

作者: 余明辉    时间: 2012-8-6 20:56
谢谢各位,今天上课老师讲了一下,终于明白这些方法在什么时候用最恰当了
作者: 余明辉    时间: 2012-8-6 20:59
问题已解决
作者: 张振纲    时间: 2012-8-6 21:01
这叫函数的重载,他们虽然名字一样可是传入的参数类型不同
比如add
当你传入 不同类型的数据,就需要接受不同类型的参数,所以就用重载来解决
作者: 郑枫    时间: 2012-8-6 21:49
余明辉 发表于 2012-8-6 20:59
问题已解决

:)  什么时候用呀, 给我这自学的讲讲呗。
作者: 余明辉    时间: 2012-8-6 21:53
郑枫 发表于 2012-8-6 21:49
什么时候用呀, 给我这自学的讲讲呗。

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

:Q   好专业, 收藏了,慢慢琢磨。  为什么视频上没讲呀。。。
作者: 余明辉    时间: 2012-8-7 00:27
郑枫 发表于 2012-8-7 00:13
好专业, 收藏了,慢慢琢磨。  为什么视频上没讲呀。。。

这个算是基础加强了,后面用的多
作者: 潘星    时间: 2012-8-7 02:30
add()方法可以将元素插入到列表中的任意位置上,
而push()将该元素插入此列表的开头,此方法等效于 addFirst(E)。
offer()也只能在列表的开头或结尾处插入元素,方法的效果都区别不大,但返回值有所不同,有返回值是void的,也有是boolean的,如果是返回值是boolean的话可以用来判断是否将元素添加到了该集合中。应该还是有区别的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2