Java アドバンス

Java List インターフェース

1. Java List インターフェース

Listインターフェースは、Javaコレクションフレームワーク(Java Collections Framework)の一部であり、要素の順序を保持するコレクション(ordered collection)を表します。

Listでは、インデックス(添字)を使用して要素にアクセスできるほか、重複した要素の追加が可能で、要素が挿入された順序がそのまま維持されます。

Listはインターフェースであるため、直接Listオブジェクトをインスタンス化(生成)することはできません。代わりに、Listインターフェースを実装した以下のようなクラスを使用します:

  • ArrayList - ランダムアクセスが高速な、サイズ変更可能な配列
  • LinkedList - 要素の追加や削除が容易な、車両が連結された列車のような構造

ヒント: データの順序を重視する場合、重複を許可する場合、そしてインデックスによって要素にアクセスしたい場合に、Listを選択するのがベストプラクティスです。

2. 主要なListメソッド

List操作で頻繁に使用される標準的なメソッドは以下の通りです。

メソッド説明
add()リストの末尾に要素を追加する
get()指定された位置(インデックス)にある要素を返す
set()指定された位置にある要素を別の要素に置き換える
remove()指定された位置にある要素を削除する
size()リスト内の要素数を返す

3. List(ArrayList)と配列(Array)の比較

Javaの基本機能である配列と、コレクションフレームワークのArrayListには決定的な違いがあります。

特性配列 (Array)ArrayList
サイズ固定長(生成後の変更不可)動的(必要に応じて自動拡張)
パフォーマンス生データの処理において高速柔軟性が高く、多機能
フレームワークコレクションフレームワークの一部ではないコレクションフレームワークの一部