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