Java ArrayList removeIf() メソッド
removeIf() メソッドは、特定の条件を満たすすべての要素を削除するために使用されます。
removeIf() メソッドの構文は次のとおりです。
arraylist.removeIf(Predicate<E> filter)
注:arraylist は ArrayList クラスのオブジェクトです。
パラメータの説明:
- filter - フィルター、要素を削除するかどうかを判定します。
戻り値
要素が削除された場合は true を返します。
例
以下の例では、removeIf() メソッドの使用を示しています。
例
import java.util.*;
class Main {
public static void main(String[] args){
// 動的配列を作成する
ArrayList<String> sites = new ArrayList<>();
sites.add("Google");
sites.add("サンプル");
sites.add("Taobao");
System.out.println("ArrayList : " + sites);
// 名前に Tao を含む要素を削除する
sites.removeIf(e -> e.contains("Tao"));;
System.out.println("削除後の ArrayList: " + sites);
}
}
class Main {
public static void main(String[] args){
// 動的配列を作成する
ArrayList<String> sites = new ArrayList<>();
sites.add("Google");
sites.add("サンプル");
sites.add("Taobao");
System.out.println("ArrayList : " + sites);
// 名前に Tao を含む要素を削除する
sites.removeIf(e -> e.contains("Tao"));;
System.out.println("削除後の ArrayList: " + sites);
}
}
上記のプログラムを実行すると、出力結果は次のとおりです。
ArrayList : [Google, サンプル, Taobao] 删除后的 ArrayList: [Google, サンプル]
上記の例では、次を使用しました。Java String contains() メソッドを使用して、要素に "Tao" が含まれているかどうかを確認します。
e -> e.contains("land")要素に "land" が含まれている場合は true を返します。
removeIf()もしe -> e.contains("land")true を返す場合は、その要素を削除します。
偶数の要素を削除する:
例
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// 配列を作成する
ArrayList<Integer> numbers = new ArrayList<>();
// 配列に要素を挿入する
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
numbers.add(6);
System.out.println("Numbers: " + numbers);
// すべての偶数要素を削除する
numbers.removeIf(e -> (e % 2) == 0);;
System.out.println("Odd Numbers: " + numbers);
}
}
class Main {
public static void main(String[] args) {
// 配列を作成する
ArrayList<Integer> numbers = new ArrayList<>();
// 配列に要素を挿入する
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
numbers.add(6);
System.out.println("Numbers: " + numbers);
// すべての偶数要素を削除する
numbers.removeIf(e -> (e % 2) == 0);;
System.out.println("Odd Numbers: " + numbers);
}
}
上記のプログラムを実行すると、出力結果は次のとおりです。
Numbers: [1, 2, 3, 4, 5, 6] Odd Numbers: [1, 3, 5]
上記の例では、numbers という名前の動的配列を作成しました。
式に注目してください:
numbers.removeIf(e -> (e % 2) == 0);
e -> (e % 2) == 0)これは匿名関数 lambda の式です。要素が 2 で割り切れるかどうかを確認できます。
匿名関数の詳細については、次を参照してください。Java Lambda 式。
removeIf()メソッドがe -> (e % 2) == 0true を返す場合は、要素を削除します。
その他の拡張
Java ArrayList