javap java.util.LinkedList
「LinkedList.java」からコンパイル
public class java.util.LinkedList extends java.util.AbstractSequentialList implements java.util.List, java.util.Deque, java.lang.Cloneable, java.io.Serializable {
ここで、LinkedList が AbstractSequentialList を拡張し、リスト インターフェイスを実装していることがわかります。追加と削除は、このインターフェイスのメソッドであり、次のコマンドで確認できます。
javap java.util.List
「List.java」からコンパイル
public interface java.util.List extends java.util.Collection {
public 抽象 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[]);
パブリック抽象ブール値 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);
パブリック抽象ブール値retainAll(java.util.Collection);
public void replaceAll(java.util.function.UnaryOperator);
public void sort(java.util.Comparator);
パブリック抽象ボイド クリア();
public abstract boolean equals(java.lang.Object);
public abstract int hashCode();
public abstract E get(int);
パブリックアブストラクト E set(int, E);
public abstract void add(int, E);
公開抽象 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 は同じことを行いますが、上記の理由により、両方のメソッドがあります。
答えが出たと思います。お気軽にコメントしてください...