こんにちは!ISAMU(@burlesca_isa)です!
今回の対象読者は
- javaのArrayListについて知りたい方
ArrayListとは?
ArrayListとは動的な配列のことです。
配列は宣言時に格納する要素数を指定します。
要素をそれ以上追加できないため、不便な場合があります。
ArrayListを使用すれば要素を追加することができます。
Listインターフェースのメソッドを使用する
ArrayListはListインターフェースを実装していますが、
Listインターフェースのメソッドを使用して要素を操作することができます。
操作はListのメソッドを使用れば十分なので、
通常、宣言時のデータ型にはListを使用します。
構文
List<型名> 変数名 = new ArrayList<>();
型名には基本データ型(プリミティブ型)は使用できません。
ラッパークラスや自作クラスなど参照型を渡す必要があります。
ラッパークラス一覧
- char・・・Character
- byte・・・Byte
- short・・・Short
- int・・・Integer
- long・・・Long
- float・・・Float
- double・・・Double
- boolean・・・Boolean
型宣言はラッパークラスを指定しますが、
格納するデータは基本データ型でも可能です。
ラッパークラスに基本データ型のデータを代入すると、自動的にラッパークラスに変換されます。
これをオートボクシングといいます。
基本的なメソッド
データの追加や削除、取得はメソッドを使用する必要があります。
- add・・・要素の追加
- get・・・要素の取得
- remove・・・要素の削除
- set・・・要素の置き換え
サンプルプログラム
サンプルプログラムはInteger型のリストを定義しています。
addメソッドではint型を代入していますが、オートボクシングで自動的にIntegerに変換されています。
addは配列に先頭から順番に代入され要素番号が付与されます。
要素番号は0から順に増えていきます。
似たようなメソッドにsetがあります。
setは要素を置き換えるメソッドです。
setは第一引数に位置番号、第2引数に置き換える数値を指定します。
存在しない要素番号を指定すると実行時エラーが発生します。
getメソッドを使用すれば値を取得することができます。
拡張for文を使用すれば、すべての要素を取得することができます。