ArrayDeque中的addfirst和offerFirst方法之间的差异
已经尝试了一个示例程序来理解Java 6
addFirst
和offerFirst
方法之间的区别ArrayDeque
。但是它们似乎是相同的,有什么建议吗?
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
这一点ArrayDeque
。
值得注意的是,ArrayDeque
它没有容量限制,因此基本上.addFirst()
不会抛出异常(并且.offerFirst()
总是会返回true
);例如,这LinkedBlockingQueue
与具有初始容量的建筑物不同。
以上是 ArrayDeque中的addfirst和offerFirst方法之间的差异 的全部内容, 来源链接: utcz.com/qa/420877.html