List
- 順序付けられたコレクション。重複した要素を含むことができる、ユーザーは要素を挿入する場所やインデックスによって要素にアクセスすることを正確に制御できる
- Listはインターフェースなのでインスタンは生成できない
- Listのメリットはコレクション(データ型)に変更したい場合、宣言時に手を加えなくていい
- ListのデメリットはArrayListにしかメソッドがないときにキャストしなければならない
- Listは以下のクラスで実装されています
-
ArrayList
: 配列を扱う一般的なクラス -
LinkedList
: 要素がどのように並んでいるか別で管理しているために要素を削除したり追加する場合にArrayListよりも高速に動作するが、要素を順にたどるため検索などはArrayListよりも遅くなる -
Vector
: ArrayList や LinkedList と同じように扱うことができますが、同期をとるためパフォーマンスが悪い(スレッドセーフ) - Stack
追加
メソッド名 | 概要 |
---|---|
list.add(o) |
オブジェクト o を配列の末尾 に追加する |
list.add(n, o) |
オブジェクトを n で指定した場所に追加する |
list.set(n, o) |
n番目の要素をオブジェクト o で置き換える |
list.addAll(list2) |
配列の末尾 に配列 list2 を追加する |
削除
メソッド名 | 概要 |
---|---|
list.remove(n) |
n番目の要素を削除する |
取得
メソッド名 | 概要 |
---|---|
list.get(n) |
n番目の要素を得る |
list.indexOf(o) |
オブジェクト o と等しい要素のインデックスを探す |
list.contains(o) |
オブジェクト o と等しい要素があるか調べる |
要素数
メソッド名 | 概要 |
---|---|
list.size() |
要素の個数を得る |