我有一个名为ll
的链接列表对象。我在该对象中添加了一些数据。假设如下:
LinkedList ll = new LinkedList();
ll.add("Mohan");
ll.add("Rajesh");
ll.addFirst("Kumar");
ll.addLast("Nammu");
ll.add("Divyesh");
我的问题是:如果我已经插入了100个数据,那么当我使用addFirst()
方法时,该数据将在First处插入,但同样的功能也应该发生在addLast()
方法中,这意味着在我使用addLast()
方法的任何地方,它也必须最后插入数据,但是如果我在addLast()
方法之后再添加数据,那么数据只会在最后插入,那么addLast()
方法的用途是什么而不是我们只能使用add()方法吗?
答案 0 :(得分:15)
LinkedList
类实现了Deque
和Queue
接口。它继承了Queue
的{{3}}方法和Deque
的{{3}}方法。两种方法都具有相同的功能。
答案 1 :(得分:3)
正如javadoc所述,addLast
和add
是等效的:addLast(E e)
答案 2 :(得分:1)
javap java.util.LinkedList
从“LinkedList.java”编译
public class java.util.LinkedList extends java.util.AbstractSequentialList实现java.util.List,java.util.Deque,java.lang.Cloneable,java.io.Serializable {
你可以在这里看到LinkedList扩展了AbstractSequentialList并且它实现了list接口,添加和删除是这个接口的方法你可以用以下命令检查它
javap java.util.List
从“List.java”编译
public interface java.util.List extends java.util.Collection {
public abstract int size();
public abstract boolean isEmpty();
public abstract boolean contains(java.lang.Object);
public abstract java.util.Iterator iterator();
public abstract java.lang.Object [] toArray();
public abstract T [] toArray(T []);
public abstract boolean add(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);
public abstract void clear();
public abstract boolean equals(java.lang.Object);
public abstract int hashCode();
public abstract E get(int);
public abstract E set(int,E);
public abstract void add(int,E);
public abstract E remove(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做同样的事情,但由于上述原因,它有两种方法。
我想我已经给出了答案。随时评论...
答案 3 :(得分:0)
方法:布尔加法(E e)和adddLast(E)是等价的。
此处显示Javadocs
答案 4 :(得分:0)