首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LinkedList为同一函数提供了几种方法--为什么?

LinkedList为同一函数提供了几种方法--为什么?
EN

Stack Overflow用户
提问于 2015-12-01 15:26:15
回答 2查看 411关注 0票数 6

我检查了Java.util.LinkedList类,发现链表类提供了几种方法

代码语言:javascript
复制
public void addFirst(E e) 

public boolean offerFirst(E e)

public void push(E e)

这3种方法都会在列表的头部添加一个元素。那么为什么不同的实现需要相同的函数呢?

是不是因为推送是为Stack和

offerFirst -出列

addFirst - LinkedList

或者其他一些基本原理?

请在这里分享一些见解。谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-12-01 15:34:20

由于Deque接口的契约,这些都是在LinkedList中实现的。

Dequejavadocs清楚地解释了其中的区别:

空addFirst(E e)

如果可以在不违反容量限制的情况下立即执行此操作,则在此双端队列的前面插入指定的元素。当使用容量受限的双队列时,通常首选使用方法offerFirst(E)。

布尔offerFirst(E e)

将指定的元素插入到此双精度队列的前面,除非它违反了容量限制。在使用容量受限的双端队列时,此方法通常比addFirst(E)方法更可取,后者只能通过抛出异常才能无法插入元素。

ArrayBlockingQueue类(javadocs)是实现Deque的有界队列实现的一个示例。

票数 2
EN

Stack Overflow用户

发布于 2015-12-01 15:36:54

看一看java文档..

代码语言:javascript
复制
public void addFirst(E e) 
// Inserts the specified element at the beginning of this list.

public boolean offerFirst(E e)
// Inserts the specified element at the front of this list.

public void push(E e)
// Pushes an element onto the stack represented by this list.

有关更多信息,请访问:LinkedList

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34014814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档