黑马程序员技术交流社区
标题: peekFirst()代替addFirst的原因 [打印本页]
作者: 赵学刚 时间: 2012-12-3 13:50
标题: peekFirst()代替addFirst的原因
本帖最后由 赵学刚 于 2012-12-3 14:31 编辑
addFirst(String)总是往当前元素前面加,addLast(string)总是往当前元素后面加,getFirst()、getLast()和remove First()、removeLast()都能获取元素,但后者会删除元素,而且get和remove操作空元素时都会出现异常,1.6版本以后出现了增加元素的
offerFirst(),offerLast() 取元素不删除peekFirst(),peekLast(),取元素并删除元素pollFirst()、pollLast()的替代方法,这些方法操作空元素都不会报错。
我的问题是:addFirst()方法并不会出现NoSuchElementException异常,那为什么1.6版本还要用offerFirst()替换呢? 求解 谢谢
作者: 冯盼 时间: 2012-12-3 14:12
本帖最后由 冯盼 于 2012-12-3 14:17 编辑
在不违反容量限制的情况下,将指定的元素插入此双端队列的开头。当使用有容量限制的双端队列时,此方法offerFirst()通常优于addFirst()方法,后者可能无法插入元素,而只是抛出一个异常。
addFirst()返回值为void,也就是说调用这个方法,但是到底添加成功与否(除了异常),并不能知道。
而offerFirst()方法返回值为boolean类型,添加成功返回真,否则返回false,可以通过返回值知道数据是否成功添加成功。
作者: 赵学刚 时间: 2012-12-3 14:31
哦 非常感谢 了解了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |