我有一个名为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()
方法之后添加更多数据,那么CC_有什么用6 方法而不是我们只能使用 add() 方法对吗?
LinkedList
类同时实现Deque
和Queue
接口。它从Queue
继承add(E)
方法,从Deque
继承addLast(E)
方法。这两种方法具有相同的功能。
正如javadoc所述,addLast
和add
是等价的:addLast(E e)
javap java.util.LinkedList
编译自"LinkedList.java"
public class java.util.LinkedList extensions java.util.AbstractSequentialList implements java.util.List, java.util.Deque, java.lang.Cloneable, java.io.Serializable {
你可以在这里看到 LinkedList 扩展了 AbstractSequentialList 并实现了列表接口,添加和删除是这个接口的方法,你可以用以下命令检查它
javap java.util.List
编译自"列表.java"
公共接口 java.util.List 扩展 java.util.Collection {
公共抽象整数大小();
公共抽象布尔值是空();
公共抽象布尔包含(java.lang.Object);
public abstract java.util.Iterator iterator();
public abstract java.lang.Object[] toArray();
public abstract T[]toArray(T[]);
公共抽象布尔添加(E);
public abstract boolean remove(java.lang.Object);
public abstract boolean containsAll(java.util.Collection);
public abstract boolean addAll(java.util.Collection);
public abstract boolean addAll(int, java.util.Collection);
public abstract boolean removeAll(java.util.Collection);
public abstract boolean retainAll(java.util.Collection);
public void replaceAll(java.util.function.UnaryOperator);
public void sort(java.util.Comparator);
公共抽象空隙清除();
公共抽象布尔等于(java.lang.Object);
public abstract int hashCode();
公共摘要 E get(int);
公共摘要E集(int,E);
公共抽象无效添加(int, E);
公共摘要 E 删除(int);
public abstract int indexOf(java.lang.Object);
public abstract int lastIndexOf(java.lang.Object);
public abstract java.util.ListIterator listIterator();
public abstract java.util.ListIterator listIterator(int);
public abstract java.util.List subList(int, int);
public java.util.Spliterator spliterator();
}
实际上,方法Add和addlast执行相同的操作,但由于上述原因,它具有两种方法。
我想我已经给出了答案。 随意评论...
方法 : boolean add(E e) 和 adddLast(E) 是等价的。
此处显示 Javadocs
实际上,检查 LinkedList 类的代码,有一个很小的区别:
add()
方法返回类型是布尔值,并且在 return 语句中硬编码为 true,并且addLast()
返回类型为 void。
除此之外,他们也会这样做。