こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、12年目エンジニアです。
この記事では、 JavaでArrayListの指定した条件の要素をすべて削除するArrayList.removeIfメソッドについて
- ArrayList.removeIfメソッドとは
- ArrayList.removeIfメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
IntelliJ IDEAのエディション | Community(無料版) |
IntelliJ IDEAのバージョン | 2021.3.2 |
プロジェクト | Javaプロジェクト |
SDK | Oracle OpenJDK version17.0.2 |
Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。
ArrayList.removeIfメソッドとは
ArrayList.removeIfメソッドとは、ArrayListから引数で指定されている条件に合致するすべての要素を削除して結果をbooleanで返すメソッドです。
removeIfメソッド実行でArrayListが変更した場合はtrue、変わらなかった場合はfalseが返されます。
引数に指定する条件は、ラムダ式で書くことができます。
ArrayList.removeIfメソッドを使うためには、
1 |
import java.util.ArrayList; |
をインポートする必要があります。
たとえば
1 2 3 4 |
ArrayList<String> sample = new ArrayList<>(); sample.add("test"); sample.add("hogehoge"); sample.add("test"); |
というArrayListがある、とします。
中身は
1 2 3 |
test hogehoge test |
です。
このArrayListに対して
1 |
boolean result = sample.removeIf(n -> n.length() == 4); |
と実行した場合、変数sampleは
1 |
hogehoge |
というArrayListになり、変数resultには
1 |
true |
が返されます。
では、次の章で実際に使ってみます。
ArrayList.removeIfメソッドを解説するプログラムの概要
ArrayList.removeIfメソッドを解説するプログラムでは、引数に指定する条件が
- 合致する条件がある場合
- 合致する条件がない場合
の2パターンでArrayList.removeIfメソッドを実行します。
実行前後でArrayListと返り値を表示させて確認します。
解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
Javaサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
package sample; import java.util.ArrayList; public class Sample { public static void main(String[] args) { System.out.println("■ArrayList.removeIfメソッドサンプル"); System.out.println("・合致する条件がある場合"); ArrayList<String> fruitList = new ArrayList<>(); fruitList.add("リンゴ"); fruitList.add("オレンジ"); fruitList.add("ぶどう"); fruitList.add("グレープフルーツ"); System.out.println("実行前のArrayList:" + fruitList); boolean result1 = fruitList.removeIf(n -> n.length() == 3); System.out.println("実行した返り値;" + result1); System.out.println("実行後のArrayList:" + fruitList); System.out.println("・合致する条件がない場合"); ArrayList<String> fishList = new ArrayList<>(); fishList.add("マグロ"); fishList.add("カツオ"); fishList.add("サケ"); fishList.add("サバ"); System.out.println("実行前のArrayList:" + fishList); boolean result2 = fishList.removeIf(n -> n.length() > 10); System.out.println("実行した返り値;" + result2); System.out.println("実行後のArrayList:" + fishList); } } |
ArrayList.addメソッドはArrayListに引数で指定されている値を追加するメソッド、String.lengthメソッドは呼び出した文字列の長さをintで返すメソッドです。
詳しくはこちらの記事をご参考ください。
【Java】ArrayListに要素を追加するArrayList.addメソッドについて解説します
String.lengthメソッド
【Java】文字列の長さを取得できるString.lengthメソッドについて解説します
実行結果
Javaプログラムを実行します。
実行のやり方は
- プログラムを右クリックして実行
- 実行タブから実行
- ガターから実行
の3種類あるので、いずれかで実行します。
詳しい解説は以下の記事をご参考ください。
1 2 3 4 5 6 7 8 9 |
■ArrayList.removeIfメソッドサンプル ・合致する条件がある場合 実行前のArrayList:[リンゴ, オレンジ, ぶどう, グレープフルーツ] 実行した返り値;true 実行後のArrayList:[オレンジ, グレープフルーツ] ・合致する条件がない場合 実行前のArrayList:[マグロ, カツオ, サケ, サバ] 実行した返り値;false 実行後のArrayList:[マグロ, カツオ, サケ, サバ] |
ArrayListから指定した条件に合致した要素がすべて削除されていることが確認できました。
まとめ:ArrayList.removeIfメソッドを使ってみよう!
以上がJavaのArrayList.removeIfメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント