本文へスキップ
BecomeCoder

Javaオブジェクト指向コース · 第6章 コレクション ― たくさんのデータをまとめて扱う · レッスン21

ArrayList ― 伸び縮みする配列

ブラウザで完結

導入

配列は最初に決めたサイズから変更できません。「買い物リストに何個商品が入るかわからない」ときに配列は不便です。そこで登場するのが、あとから自由に要素を追加できる ArrayList です。

説明

ArrayList<型> で、指定した型の要素だけを持てるリストを作れます。

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("りんご");
        fruits.add("バナナ");
        fruits.add("みかん");

        System.out.println(fruits.size());
        System.out.println(fruits.get(0));
        System.out.println(fruits);
    }
}
  • import java.util.ArrayList;ArrayList を使うために必要な宣言です。ファイルの一番上に書きます。
  • ArrayList<String> fruits = new ArrayList<>();String だけを入れられるリストを作ります。<> の部分は左側の型と同じなので省略できます(ダイヤモンド演算子)。
  • .add(値) … 末尾に要素を追加します。配列と違い、いくつでも追加できます。
  • .size() … 現在の要素数を返します。
  • .get(index)index 番目(0始まり)の要素を取り出します。
  • println(fruits) … リストの中身をそのまま [要素, 要素, ...] の形で表示できます。

やってみよう

下のエディタで add する要素を増やしたり順番を変えたりして実行し、size()get() の結果がどう変わるか確認しましょう。

演習

ArrayList<String> members を作り、"太郎""花子""次郎" を順番に追加してください。size() の結果と、get(1) の結果(2番目の要素)を順番に表示してください。

ヒント1を見る

ArrayList<String> members = new ArrayList<>(); を作り、members.add("太郎"); のように3回 add します。

ヒント2を見る

System.out.println(members.size()); のあと System.out.println(members.get(1));get(1) は2番目の要素です)。

実際に動かしてみよう

下のエディタにJavaを書いて「実行」を押すと、学習用シミュレータが System.out.println の出力を表示します(本物のJVMではなく、教材の範囲を再現した軽量エンジンです)。クラス・継承・コレクションなども動きます。Scanner で入力を読む例は「標準入力」欄に値を入れてください。本文の例を書き換えて動かしてみましょう(Stream・ラムダ・スレッド・ファイル入出力など一部の機能は対象外です)。

Java — ブラウザ内で実行(学習用シミュレータ)

Javaの教材サブセットを動かす学習用シミュレータを読み込みます(本物のJVMではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。