ArrayDeque中的addfirst和offerFirst方法之间的差异

已经尝试了一个示例程序来理解Java 6

addFirstofferFirst方法之间的区别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

回到顶部