本文へスキップ
BecomeCoder

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

拡張for と ArrayList の操作 ― contains / remove

ブラウザで完結

導入

ArrayList の全要素を順番に処理したいときは、配列と同じ 拡張for が使えます。加えて、「特定の要素が含まれているか調べる」「特定の要素を削除する」といった操作もよく使います。

説明

import java.util.ArrayList;

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

        for (String fruit : fruits) {
            System.out.println(fruit);
        }

        System.out.println(fruits.contains("バナナ"));
        fruits.remove("バナナ");
        System.out.println(fruits.size());
    }
}
  • for (String fruit : fruits) { ... }fruits の要素を1つずつ fruit に入れて処理します(配列のときと同じ書き方)。
  • .contains(値) … 指定した値がリストに含まれていれば true を返します。
  • .remove(値) … 指定した値と一致する要素をリストから取り除きます。

やってみよう

下のエディタで contains に別の値を渡してみたり、remove する要素を変えたりして実行し、結果がどう変わるか確認しましょう。

演習

ArrayList<String> cart(カート)を作り、"本""ノート""ペン" を追加してください。拡張forで全要素を表示したあと、"ノート"remove し、その後の size() を表示してください。

ヒント1を見る

3つの要素を add してから、for (String item : cart) { System.out.println(item); } で表示します。

ヒント2を見る

cart.remove("ノート"); System.out.println(cart.size()); の順に書きます。

実際に動かしてみよう

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

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

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