1

この記事の目次



1.  Listインタフェースのまとめ


  • 格納される要素において重複を許可し、順番を持つコレクションです。インデックス番号で要素を識別し、前後に要素をたどったり、要素を消したり追加したりできます。
  • Listインタフェースだけではなく、コレクションフレームワークを利用したいときはjava.util.*をimportします。
  • Listへの操作はインタフェースで定義されるメソッドを利用します。以下は主に使っているメソッドです。
  • メソッド 戻り値の型 メソッドの意味
    add(E element) boolean 指定された要素をリストの最後に追加します
    add(int index,E element) void リスト内の指定された位置に、してされた要素を挿入します
    addAll(C< extends E> c) void 指定コレクション(バラメータ:要素型)をリストの最後に追加します
    clear() void 全ての要素をリストから削除します
    contains(Object o) boolean リストに指定の要素がリストと等しいかどうかを比較します
    get(int index) E リスト内の指定された位置にある要素を返します
    isEmpty() boolean リストに要素がない場合にtrueを返す
    listIterator(int index) ListIterator< E > リスト内の指定された位置から開始する反復子を返します
    listIterator() ListIterator< E > listIterator(0)と同じ
    lastIndexOf(Object o) int 指定要素がリスト内で最後に検出された位置のインデックスを返します
    remove(int index) E リスト内の指定された位置にある要素を削除します
    remove Object o boolean 指定要素がリストにあればその最後のものをリストから削除します
    set(int index,E element) E リスト内の指定位置にある要素を指定要素に置き換えます
    size() int リスト内にある要素の数を返します

    2.  LinkedListの宣言と初期化


    LinkedList<データ型名> 変数名 = new LinkedList<>();
  • LinkedListは、ListクラスとDequeクラスのインターフェースを実装した双方向結合リストです。
  • java.util.LinkedListをimportする必要があります。
  • package helloworld;
    
    import java.util.LinkedList;
     
    public class HelloWorld {
           
        public static void main(String[] args) {
             
            //LinkedListを宣言する
            LinkedList< Integer > linkedListInteger = new LinkedList<>();
            
            //LinkedListに要素を入れる
            linkedListInteger.add(1);
            linkedListInteger.add(2);
            linkedListInteger.add(3);
            linkedListInteger.add(4);
             
            System.out.print("linkedListIntegerの全要素: ");
            System.out.println(linkedListInteger);
    
        }
         
    }

    実行結果:
    linkedListIntegerの全要素: [1, 2, 3, 4]

    3.  LinkedListの扱い


    * LinkedListとArrayListはどちらもListインタフェースを実装したクラスですので、LinkedListの要素の格納・追加・取得・取消、要素を順に取り出す4つの方法、主に使われているメソッドなどは前記事で紹介したArrayListの記事と同様ですので、ご参考ください。

     要素の格納・追加・取得・取消について詳しく見たい方:

    要素の格納・追加・取得・取消

    ../../../java/java-collection-arraylist.html?goto=3

    この記事ではListを実装したクラスの一つであるArrayListを紹介します。ArrayListは大きさが可変という点でたくさんの応用があるので、開発現場でよく・・・

    4.  LinkedListとArrayListの違い


     ●  ArrayList

  • ArrayListの要素はそれぞれ順序番号を持っており、全てメモリ上でインデックス化されているため、特定の要素へすぐにアクセスすることが出来ます。そのため、特定の要素にアクセスするスピードが早いという長所があります。
  • 一方、要素の挿入と削除する際:順序番号を繰り上げたり繰り下げたりするための再配置処理が行われます。つまり、要素を追加したり削除したりするスピードが遅いという短所があります。
  •  ●  LinkedList

  • LinkedListの要素は順序番号を保持していないが要素同士が、それぞれ前後に持っているリンク情報で繋がっています。特定の要素を取り出す際は、先頭もしくは末尾から一つずつ順序を数えていく必要があるため、特定の要素にアクセスするスピードが遅いという短所があります
  • 一方、要素の追加と削除する際:リンク情報を書き換えれば終わりなので、再配置処理が行われないため、要素を追加したり削除するスピードが早いという長所があります
  • 5.  まとめ


    この記事ではLinkedListの定義、宣言、LinkedListとArrayListの違いなどを紹介しました。LinkedListとArrayListはどちらもListインタフェースを実装したクラスですので、LinkedListの要素の格納・追加・取得・取消、要素を順に取り出す4つの方法、主に使われているメソッドなどは前記事で紹介したArrayListの記事と同様ですので、ぜひ参考していただいたらいいなと思います。。

    広告