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

1

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 は同じことを行いますが、上記の理由により、両方のメソッドがあります。

答えが出たと思います。お気軽にコメントしてください...

于 2016-01-05T09:36:27.157 に答える
0

メソッド : boolean add(E e) と adddLast(E) は同等です。

ここに表示Javadocs

于 2013-10-21T11:59:00.593 に答える