ini*_*tyk 5 java collections linked-list
我正在检查Java.util.LinkedList类,发现 Linked List 类提供了几种方法
public void addFirst(E e)
public boolean offerFirst(E e)
public void push(E e)
Run Code Online (Sandbox Code Playgroud)
所有这 3 种方法都将一个元素添加到列表的头部。那么为什么不同的实现需要相同的功能呢?
是不是因为 push 是针对 Stack 和
offerFirst – 出队
addFirst – 链表
或其他一些基础知识?
请在这里分享一些见解。谢谢
这些是LinkedList由于接口契约而实现的Deque。
javadoc清楚地Deque解释了差异:
无效addFirst(E e)
如果可以在不违反容量限制的情况下立即执行此操作,则在此双端队列的前面插入指定的元素。当使用容量受限的双端队列时,通常最好使用方法 OfferFirst(E)。
布尔 OfferFirst(E e)
在此双端队列的前面插入指定的元素,除非它违反容量限制。当使用容量受限的双端队列时,此方法通常优于 addFirst(E) 方法,后者只能通过抛出异常来插入元素失败。
该类ArrayBlockingQueue( javadocs ) 是一个有界队列实现的示例,它实现了Deque.
| 归档时间: |
|
| 查看次数: |
375 次 |
| 最近记录: |