尝试过一个示例程序来了解之间的区别addFirst
and offerFirst
中的方法ArrayDeque
Java 6。但它们似乎是相同的,有什么建议吗?
public void interfaceDequetest()
{
try{
ArrayDeque<String> ad = new ArrayDeque<String>();
ad.addFirst("a1");
ad.offerFirst("o1");
ad.addFirst("a2");
ad.offerFirst("02");
ad.addFirst("a3");
System.out.println("in finally block");
for (String number : ad){
System.out.println("Number = " + number);
}
}
不同之处在于,由于队列容量限制,添加失败时会发生什么:
-
.addFirst()
抛出一个(未经检查的)异常,
-
.offerFirst()
回报false
.
这记录在Deque, which ArrayDeque
实施。
值得注意的是ArrayDeque
没有容量限制,所以基本上.addFirst()
永远不会抛出异常(并且.offerFirst()
总会回来的true
);例如,这不同于LinkedBlockingQueue以初始容量建造.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)