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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵学刚 中级黑马   /  2012-12-3 13:50  /  4945 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 赵学刚 于 2012-12-3 14:31 编辑

addFirst(String)总是往当前元素前面加,addLast(string)总是往当前元素后面加,getFirst()getLast()remove First()removeLast()都能获取元素,但后者会删除元素,而且getremove操作空元素时都会出现异常,1.6版本以后出现了增加元素的
offerFirst(),offerLast() 取元素不删除peekFirst(),peekLast(),取元素并删除元素pollFirst()pollLast()的替代方法,这些方法操作空元素都不会报错。

我的问题是:addFirst()方法并不会出现NoSuchElementException异常,那为什么1.6版本还要用offerFirst()替换呢? 求解    谢谢

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
本帖最后由 冯盼 于 2012-12-3 14:17 编辑

在不违反容量限制的情况下,将指定的元素插入此双端队列的开头。当使用有容量限制的双端队列时,此方法offerFirst()通常优于addFirst()方法,后者可能无法插入元素,而只是抛出一个异常。
addFirst()返回值为void,也就是说调用这个方法,但是到底添加成功与否(除了异常),并不能知道。
而offerFirst()方法返回值为boolean类型,添加成功返回真,否则返回false,可以通过返回值知道数据是否成功添加成功。
回复 使用道具 举报
哦  非常感谢   了解了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马