已经尝试过一个示例程序来理解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);
}
}
Run Code Online (Sandbox Code Playgroud)
fge*_*fge 12
不同之处在于,由于队列容量限制,添加失败时会发生以下情况:
.addFirst() 抛出(未经检查的)异常,.offerFirst()回报false.这是记录在Deque其中的,它ArrayDeque实现了.
值得注意的是,ArrayDeque它没有容量限制,所以基本上.addFirst()永远不会抛出异常(并且.offerFirst()总会返回true); 例如,这LinkedBlockingQueue与初始容量构建不同.
| 归档时间: |
|
| 查看次数: |
4928 次 |
| 最近记录: |