オーダーメイドコース
icon
icon

JavaでremoveAllメソッドを使ってListの要素を削除する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaでremoveAllメソッドを使ってListの要素を削除する方法について解説しています。removeAllメソッドを使うとListの中から指定の要素をまとめて削除することができます。書き方と実行結果をサンプルコードで見ていきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

JavaでremoveAllメソッドを使ってListの要素を削除する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

removeAllメソッドを使ってListの要素を削除する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

Listとは

まずは、Javaを始めたばかりの方や、忘れてしまった方のためにList型についてかんたんに紹介します。List型というのは、複数の値を格納することのできる便利なクラスです。

複数の値を格納するデータ型には

char[] c;

int[] i;

などで定義するような配列も当てはまりますが、List型はクラスであるので、便利なメソッドが多く用意されています。

List型を宣言するためには、

List<データ型名> オブジェクト名 = new ArrayList<データ型名>();

のようにして、データとして保持したいもののデータ型名を指定して宣言します。

List<データ型名> オブジェクト名 = new ArrayList<データ型名>(Arrays.asList(要素, 要素, ・・・));

のようにして、Arrays.asListを使うことで初期化することもできますし、

オブジェクト名.add(要素);

のように1つずつ追加することもできます。List型の要素を取得したいときには、

オブジェクト名.get(インデックス番号);

のようにします。インデックス番号というのは、要素が何番目にあるかを示すもので0から始まる番号です。

 

[PR] 未経験からWebエンジニアを目指す方法とは

removeAllメソッドとは

Listについてかんたんに説明したところで、removeAllメソッドについて解説します。removeAllメソッドは、Listの中の特定の値を持つ要素を全部削除したい場合や、複数の値をすべて削除したい場合などに使われます。

たとえば、

["a", "b", "c", "d", "e", "a"]

というリストがあったとすると、

removeAllメソッドで”a”という値を持つものを削除するようにすると、

["b", "c", "d", "e"]

といったリストが得ることができます。

 

removeAllメソッドの使い方

removeAllメソッドの使い方は至ってシンプルで、

オブジェクト名.removeAll(削除したい要素);

もしくは。

オブジェクト名.removeAll(削除したい要素の入ったList);

のようにして使います。

 

Listの要素を削除する方法

要素を削除するメソッドは他にもあって、インデックス番号を指定して削除するremoveメソッドや、要素をすべて削除してしまうclearメソッドなどがあります。

先程の例を使うと、

["a", "b", "c", "d", "e", "a"]

というListに対して、”c”という要素を削除したい場合には、インデックス番号である2を引数にとって、

オブジェクト名.remove(2)

とします。

clearメソッドの場合は、

オブジェクト名.clear()

とすればOKです。

 

実際に書いてみよう

実際にremoveAllを使って要素を削除するプログラムを書いてみたいと思います。今回は、同じ値を持つListに対して、removeAllメソッドの引数にList型を代入して複数の値を削除するプログラムを作ります。

コードの全体は次のようになります。

import java.util.ArrayList;
import java.util.List;
 
public class ListRemoveAllSample {
 
public static void main(String[] args) {
        List<String> sampleList = new ArrayList<String>(); //リスト型の宣言
 
                sampleList.add("a"); //要素の追加
                sampleList.add("b");
                sampleList.add("c");
                sampleList.add("d");
                sampleList.add("e");
                sampleList.add("a");

                System.out.println(sampleList); //表示して確認
 
                List<String> set = new ArrayList<String>(); //削除に使うリスト型の宣言
                set.add("a");
                set.add("b");

                sampleList.removeAll(set); //要素の削除


                System.out.println(sampleList); //表示して確認
        }
}

実行すると、

[a, b, c, d, e, a]
[c, d, e]

となり、2つあった”a”と”b”が削除されていることが確認できました。

 

まとめ

今回はList型の要素をremoveAllメソッドを使って削除する方法について解説しました。removeAllメソッドは、指定した値をもつ要素をすべて削除し、複数の値を指定することもできる、という点がポイントでした。

List型の扱いになれておくことは今後のプログラミング学習において非常に役に立つと思うので、この記事の内容をぜひ覚えておくといいでしょう。

 

監修してくれたメンター

メンターOS

AIプログラミングを使って開発を行う。プログラミング歴は約3年。Pythonは割と好きな方。JavaもAndroid開発で触れていたりする。

大学では物理学を勉強中。好きな物理理論は一般相対性理論らしい。

意外と動物が好きだったり、、、。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。