我们已经试用了一个示例程序,以了解Java 6的ArrayDeque
中addFirst
和offerFirst
方法之间的区别。但他们似乎是一样的,有什么建议吗?
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);
}
}
offerFirst的源代码:
public boolean offerFirst(E e) {
addFirst(e);
return true;
}
先加
public void addFirst(E e) {
if (e == null)
throw new NullPointerException();
elements[head = (head - 1) & (elements.length - 1)] = e;
if (head == tail)
doubleCapacity();
}
OfferFirst返回true,这是唯一的区别...
不同的是,由于队列容量限制,添加失败时会发生什么:
。addFirst()
抛出一个(未选中的)异常,。offerFirst()
返回false
这记录在Deque
中,它实现了ArrayDeque
。
需要注意的是,ArrayDeque
没有容量限制,因此基本上。addFirst()
永远不会抛出异常(并且。offerFirst()
将始终返回true
);例如,这与使用初始容量构建的LinkedBlockingQueue
不同。
问题内容: 已经尝试了一个示例程序来理解Java 6 和方法之间的区别。但是它们似乎是相同的,有什么建议吗? 问题答案: 区别在于,由于队列容量限制,添加失败时会发生什么: 引发(未经检查的)异常, 返回。 在实现的中记录了这一点。 值得注意的是,它没有容量限制,因此基本上不会抛出异常(并且总是会返回);例如,这与具有初始容量的建筑物不同。
主要内容:1 什么是Java Deque接口,2 Java Deque接口的语法,3 Java Deque接口(ArrayDeque类)的方法,4 什么是ArrayDeque类,5 Java ArrayDeque类的层次结构,6 Java ArrayDeque类的语法,7 Java ArrayDeque的例子1,8 Java ArrayDeque的例子21 什么是Java Deque接口 Java Deque接口是一个线性集合,支持两端的元素插入和删除。Deque是“双端队列”的首字母缩写。 2
我想有后进先出的效果,我想它是同步的。有人知道我应该使用这两个实现中的哪一个吗?谷歌搜索了一段时间,还是没有好答案。 底线:区别是什么,为什么使用一个而不是另一个,为什么说它偏向于ArrayDeQueue?
主要内容:1 ArrayDeque的概述,2 ArrayDeque的API方法,3 ArrayDeque的源码解析,3.1 主要类属性,3.2 构造器与初始容量,3.3 添加的方法,3.4 移除的方法,3.5 获取的方法,3.6 其他方法,4 ArrayDeque和LinkedList的区别,5 性能对比基于JDK1.8对Java中的ArrayDeque集合的源码进行了深度解析,包括各种方法的底层实现,在最后给出了ArrayDeque和LinkedList的对比案例以及使用建议。 1 Array
我正在使用customLinkedLists的LinkedList,而我的AddFirst方法的实现遇到了一些问题。 方法如下, 问题是,每次调用它时,它都会正确地增加大小,但当我试图打印出值时,它会抛出一个空指针异常。我知道我设置头/尾指针的方式有问题,但我不知道它到底是什么。 编辑:基本上我有一个OuterList和一个自定义的LinkedList类。 在outer list类中,我有一个对象
这是家庭作业。 我正在用链表做一个堆栈。我选择使用Java的Java中的链表。util。LinkedList包。当我在主类中调用addFirst()方法时,程序将无法完成。它的行为就像一个无限循环,但据我所知,没有涉及循环。代码如下: 这是调用push()方法的Main类。 测试LinkedListStack非常困难。java,因为我无法将任何内容推送到堆栈上。我不知道怎么了。