10

我有一个名为的链接列表对象ll。我在该对象中添加了一些数据。假设如下:

LinkedList ll = new LinkedList();

ll.add("Mohan");

ll.add("Rajesh");

ll.addFirst("Kumar");

ll.addLast("Nammu");

ll.add("Divyesh");

我的问题是:如果我已经插入了 100 个数据,当我使用addFirst()方法时,该数据将首先插入,但是addLast()方法也应该发生相同的功能,这意味着如果我在任何地方使用addLast()方法,它也必须最后插入数据,但是如果我addLast()在最后只插入数据的方法之后添加更多数据,那么addLast()方法的用途是什么,而不是我们只能使用 add() 方法对吗?

4

5 回答 5

20

LinkedList类同时实现DequeQueue接口。它从 继承add(E)方法Queue,并addLast(E)从继承方法Deque。这两种方法具有相同的功能。

于 2013-10-21T11:56:39.283 回答
3

正如javadoc所说,addLast并且add是等效的:addLast(E e)

于 2013-10-21T11:55:07.817 回答
1

javap java.util.LinkedList

编译自“LinkedList.java”

公共类 java.util.LinkedList 扩展 java.util.AbstractSequentialList 实现 java.util.List、java.util.Deque、java.lang.Cloneable、java.io.Serializable {

您可以在这里看到 LinkedList 扩展了 AbstractSequentialList 并实现了列表接口,添加和删除是该接口的方法,您可以使用以下命令检查它

javap java.util.List

编译自“List.java”

公共接口 java.util.List 扩展 java.util.Collection {

公共抽象整数大小();

公共抽象布尔 isEmpty();

公共抽象布尔包含(java.lang.Object);

公共抽象 java.util.Iterator iterator();

公共抽象 java.lang.Object[] toArray();

公共抽象 T[] toArray(T[]);

公共抽象布尔添加(E);

公共抽象布尔删除(java.lang.Object);

公共抽象布尔包含所有(java.util.Collection);

公共抽象布尔 addAll(java.util.Collection);

公共抽象布尔 addAll(int, java.util.Collection);

公共抽象布尔 removeAll(java.util.Collection);

公共抽象布尔保留所有(java.util.Collection);

公共无效替换所有(java.util.function.UnaryOperator);

公共无效排序(java.util.Comparator);

公共抽象无效清除();

公共抽象布尔等于(java.lang.Object);

公共抽象 int hashCode();

公共摘要 E get(int);

公共抽象 E 集(int,E);

公共抽象无效添加(int,E);

公共摘要 E remove(int);

公共抽象 int indexOf(java.lang.Object);

公共抽象 int lastIndexOf(java.lang.Object);

公共抽象 java.util.ListIterator listIterator();

公共抽象 java.util.ListIterator listIterator(int);

公共抽象 java.util.List subList(int, int);

公共 java.util.Spliterator spliterator();

}

实际上方法 add 和 addLast 做同样的事情,但由于上述原因,它有两个方法。

我想我已经给出了答案。随意评论...

于 2016-01-05T09:36:27.157 回答
0

Method : boolean add(E e) 和 adddLast(E) 是等价的。

此处显示Javadocs

于 2013-10-21T11:59:00.593 回答
0

实际上,查看 LinkedList 类的代码,有一个小的区别:

add()方法返回类型为布尔值,在返回语句中硬编码为 true,addLast()返回类型为 void。

除此之外,他们做同样的事情。

于 2020-04-13T16:25:02.007 回答