LinkedList中add和offer的区别

2021-01-22 10:09:16 字数 3075 阅读 2653

1楼:飞天奔月

其实offer 方法 调用的就是 add 方法offer(ee)

addsthespecifiedelementasthetail(lastelement)ofthislist.

那为什么还要有重复工作的方法呢?主要是 linkedlist 实现了两个不同的接口 (deque 和collection)

offer实现deque接口的方法

add 实现collection接口方法使用的时候看应用场景作为list使用时,一般采用add/get方法来加入/获取对象作为queue使用时,才会采用offer/poll/take等方法

linkedlist 中add 和 offer 的区别

2楼:飞天奔月

其实offer 方法 调用的就是 add 方法

offer(ee)

addsthespecifiedelementasthetail(lastelement)ofthislist.

那为什么还要有重复工作的方法呢?likedlist通过继承,

主要是 linkedlist 实现了两个不同的接口 (deque 和collection)

offer实现deque接口的方法

add 实现collection接口方法

使用的时候看应用场景

作为list使用时,一般采用add/get方法来加入/获取对象

作为queue使用时,才会采用offer/poll/take等方法

linkedlist 中add 和 offer 的区别

3楼:江淮一楠

这个复要看应用场景:①作为list使用时制,一般采用add/get方法来压入/获取对象。②作为queue使用时,才会采用offer/poll/take等方法。

③作为链表对象时,offer等方法相对来说,没有什么意义,这些方法是用于支持队列应用的。

弱弱问下:java集合linkedlist()中offfirst()方法跟addfirst()方法有啥区别?个人感觉功能重复了!

4楼:匿名用户

我看了一下java的开发文档。

没有找到offfirst(e e)方法,只找到了offerfirst()方法。

offerfirst(e e)方法和addfirst(e e)方法实现的功能都是在列表的开头插入指定的元素。但是,有个小小的不同。

请注意二者的返回值类型。addfirst(e e)的返回值是void,为空。而offerfirst(e e)的返回值是boolean,也就是说插入成功返回true,否则返回false。

那什么时候插入会失败呢?

具体原因如下:

在不违反容量限制的情况下,将指定的元素插入此双端队列的开头。当使用有容量限制的双端队列时,此方法通常优于 addfirst(e) 方法,后者可能无法插入元素,而只是抛出一个异常。(以上抄自java开发文档)

也就是说,当你用addfirst()向一个有容量有限制并且已经满了的队列里面插入元素的时候,会系统抛出异常。而用offerfirst()的时侯,你会获得返回值false,这时你可以自己做一些处理。而不用面对抛出一个异常的无奈。

5楼:匿名用户

你是不是写错了,应该是offerfirst()吧!

据我所知,offerfirst()有返回值是boolean,addfirst()没有返回值

(判断)java中linkedlist的offer()方法表示出队列。

6楼:匿名用户

boolean

offer(e e)

将指定元素添加到此列表的末尾(最后一个元素)。

java linkedlist add()方法问题

7楼:匿名用户

实体类型如bai

果为数组的话,du可以直接通过zhilist的add方法进行添加dao转换,举例:

listlist = new linkedlist ();内//定义一个数组类型容的list对象

string entity = new string[10];//创建一个要实体化的数组对象

entity[0] = "1232";//给数组赋值

list.add(entity );给list对象赋值,这样就完成了对象的转换

可以获取到list的值:list.get(0),结果就是entity 对象。

备注:因为object类型是任何对象类型的父类,所以不需要强制转换即可完成添加。

8楼:匿名用户

linkedlist.add()方法是【只能放对bai

象】的du

list.add(21);为zhi什么正确,因为java 5起加入了自

动封包auto-boxing和自动拆dao封auto-unboxing的功内能

对基础类型int,double等会自动封包成对应容的integer double对象

list.add(21)等于自动list.add(new integer(21));

int i=list.get(n);也会自动拆包,等于int i=((integer)list.get(n)).intvalue();

9楼:

add接受的不是泛型吗 object 或者e

21是在内存中开辟了一个int类型的空间 存放值21 所以他自然会成功运行

10楼:

public boolean add(e e);

e可以是基本类型和对象类型

所以add(21)是正确的

11楼:

java的自动装箱拆箱机制

java中和的区别,java中&和&的区别

1楼 蜗牛 java中 表示 与 实体字符,一般用在html中。。。。 java中 amp 是什么意思 2楼 兄弟连教育北京总校 运算符,表示与。 还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if str null str equals 表达式,当str为nu...

php中抽象类和接口的区别,java中抽象类和接口的区别?

1楼 越勒 区别 1 对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。 当然接口也可以通过关键字extends继承。 2 接口中不可以声明成员变量 包括类静态变量 ,但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数 java中抽象类和接口的区别? ...

js中null和有什么区别啊,js中null和""有区别吗

1楼 夏冰 结果上没有任何区别,都代表给str赋值一个空的结果, 但typeof 出来的结果,会有不同,str 时,typeof的结果为string,str null typeof出来的结果object。 2楼 匿名用户 var str1 null str引用为空 var str2 str引用一个空...