【Java入門】配列の追加、変更、削除をしてみよう!:ArrayListクラス

投稿日: 作成:   更新:

Javaの配列操作「追加、変更、削除」について解説します。

プログラミング基礎では、配列操作は重要な部分となりますので頑張って身につけましょう!

まずは「どんなことができるのか」の感覚をつかんでもらえればOKですので、
さらっと読んでいただければと思います。

※Javaには「基本型(String[]など)、ArrayList」の配列が2種類ありますが、「ArrayList」の方で説明します。

それでは行きましょう!

配列に要素を追加

末尾に追加

配列の末尾に要素を追加するには、ArrayListクラスのadd() 関数を使用します。

ソースコードで書くと次のようになります。

ArrayList<String> list = 
    new ArrayList<String>(Arrays.asList("バナナ", "イチゴ"));

// 末尾に追加
list.add("すいか");

System.out.println(list);

実行結果:

「バナナ、イチゴ」が入った配列の末尾に「すいか」が追加されました。

先頭に追加

配列の先頭に要素を追加するには、ArrayListクラスのadd()の引数に「0」をつけて追加します。

ArrayList<String> list = 
    new ArrayList<String>(Arrays.asList("バナナ", "イチゴ"));

// 先頭に追加(第1引数に0をつける)
list.add(0, "すいか");

System.out.println(list);

実行結果:

配列の値を変更

指定インデックスの値を変更

配列の値を変更するときは、ArrayList.setメソッドにインデックス番号を指定して変更します。

次のソースコードでは、インデックス番号[1]の「イチゴ」を「メロン」に値を変更しています。

ArrayList<String> list =
    new ArrayList<String>(Arrays.asList("バナナ", "イチゴ", "すいか"));

// イチゴ から メロン に値を変更する
list.set(1, "メロン");

System.out.println(list);

実行結果:

ループ中の条件で値を変更

配列をループしながら条件に一致した場合、値が変更されるようにソースコードを書いてみます。

ArrayList<String> list =
    new ArrayList<String>(Arrays.asList("バナナ", "イチゴ", "すいか"));

for (int i = 0; i < list.size(); i++) {
    // イチゴであれば、メロンに変更する
    if (list.get(i).equals("イチゴ")) {
        list.set(i, "メロン");
    }
}

System.out.println(list);

「指定インデックスの値を変更」と同じ結果で、「イチゴ」が「メロン」になりました。

配列の変更する場合はこのようにループしながらの使い方が多いです。

配列の要素を削除

インデックス番号で削除

ArrayList.remove() メソッドにインデックス番号を指定して呼ぶと、指定要素を削除することができます。

ArrayList<String> list =
    new ArrayList<String>(Arrays.asList("バナナ", "イチゴ", "すいか"));

// インデックス番号で「イチゴ」を削除
list.remove(1);

System.out.println(list);

実行結果:

値で削除

remove()、indexOf() を使うと、値を条件に要素を削除することができます。

ArrayList<String> list =
    new ArrayList<String>(Arrays.asList("バナナ", "イチゴ", "すいか"));

// 値で「イチゴ」を削除
list.remove(list.indexOf("イチゴ"));

System.out.println(list);

結果は「インデックス番号を指定」した時と同じです。

すべてを削除

clear() を使うと、配列のすべての要素を削除することができます。

ArrayList<String> list =
    new ArrayList<String>(Arrays.asList("バナナ", "イチゴ", "すいか"));

// 配列すべてを削除
list.clear();

System.out.println(list);

実行結果:

まとめ

Javaの配列操作について次の内容で解説しました。

  • 配列の要素の追加(末尾、先頭)
  • 配列の値を変更(指定、ループ)
  • 配列の要素の削除(インデックス指定、値指定、すべて)

配列の追加・変更・削除について色々と解説しましたが、

まずは「こんなことができるんだ」の感じで頭の片隅に置いといて、
実際に必要になったとき、この記事を見ていただければ幸いです。