黑马程序员技术交流社区

标题: LinkedList中的添加方法为什么要升级呢 [打印本页]

作者: caobin    时间: 2014-12-1 20:33
标题: LinkedList中的添加方法为什么要升级呢
不是说jdk升级就是为了  。1.提高效率 2.简化书写 3.提高安全性
api中好像并没有说明addFirst会抛出异常什么的,那为什么也要跟着get和remove来升级成offer呢?
这样不是让书写更加麻烦嘛?

作者: mmppp    时间: 2014-12-1 20:40
就不会抛出异常了,改成了返回null。。。
作者: 大大的心    时间: 2014-12-1 21:56

        * 在JDK1.6出现了替代方法:

添加元素:
     offerFirst();
     offerLast();
获取元素:
     peekFirst();
     peekLast();
移除元素:
     pollFirst();
     pollLast();

当以上操作的列表为空时,既集合中没有元素,会返回null。


主要是老的方法中,如果集合没有元素会抛出空指针异常。
作者: caobin    时间: 2014-12-1 22:27
大大的心 发表于 2014-12-1 21:56
* 在JDK1.6出现了替代方法:

添加元素:

其实addFirst在api中并没有的标识这个方法会抛出异常。 只是Collection和List中的add方法都标注了如果超出添加元素限制会抛出异常,我觉得是addFirst可能是会用到add方法,所以就也一起改了。但是LinkedList.java中却显示addFirst只是调用了linkFirst(e),但是我还没找到这个方法在哪里
作者: 大大的心    时间: 2014-12-1 22:31
caobin 发表于 2014-12-1 22:27
其实addFirst在api中并没有的标识这个方法会抛出异常。 只是Collection和List中的add方法都标注了如果超 ...

它里面调用的都是一些底层的东西。你现在暂时不用了解这些,如果心里非弄清楚不可的话,就把这些方法验证一下有什么不同呗。
作者: 大大的心    时间: 2014-12-1 22:33
caobin 发表于 2014-12-1 22:27
其实addFirst在api中并没有的标识这个方法会抛出异常。 只是Collection和List中的add方法都标注了如果超 ...

它里面调用的都是一些底层的东西。你现在暂时不用了解这些,如果心里非弄清楚不可的话,就把这些方法验证一下有什么不同呗。




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