ArrayDeque中addfirst和offerFirst方法的区别

2023-11-21

尝试过一个示例程序来了解之间的区别addFirst and offerFirst中的方法ArrayDequeJava 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(使用前将#替换为@)

ArrayDeque中addfirst和offerFirst方法的区别 的相关文章

随机推荐