Phương thức Java ArrayList removeIf () xóa tất cả các phần tử khỏi danh sách mảng thỏa mãn điều kiện đã chỉ định.
Cú pháp của removeIf()
phương thức là:
arraylist.removeIf(Predicate filter)
Ở đây, arraylist là một đối tượng của ArrayList
lớp.
Tham số removeIf ()
Các removeIf()
phương pháp có một tham số duy nhất.
- bộ lọc - quyết định xem một phần tử có bị xóa hay không
removeIf () Giá trị trả lại
- trả về
true
nếu một phần tử bị xóa khỏi danh sách mảng.
Ví dụ: Xóa số chẵn khỏi ArrayList
import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList numbers = new ArrayList(); // add elements to the ArrayList numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5); numbers.add(6); System.out.println("Numbers: " + numbers); // remove all even numbers numbers.removeIf(e -> (e % 2) == 0);; System.out.println("Odd Numbers: " + numbers); ) )
Đầu ra
Số: (1, 2, 3, 4, 5, 6) Số lẻ: (1, 3, 5)
Trong ví dụ trên, chúng ta đã tạo một danh sách mảng có tên là các số. Lưu ý dòng,
numbers.removeIf(e -> (e % 2) == 0);
Đây,
e -> (e % 2) == 0)
là một biểu thức lambda. Nó kiểm tra xem một phần tử có chia hết cho 2. Để tìm hiểu thêm, hãy truy cập Java Lambda Expression.removeIf()
- Loại bỏ phần tử nếue -> (e % 2) == 0
trả vềtrue
.
Ví dụ 2: Xóa các quốc gia có tên "đất"
import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList countries = new ArrayList(); // add elements to the ArrayList countries.add("Iceland"); countries.add("America"); countries.add("Ireland"); countries.add("Canada"); countries.add("Greenland"); System.out.println("Countries: " + countries); // remove all even countries countries.removeIf(e -> e.contains("land"));; System.out.println("Countries without land: " + countries); ) )
Đầu ra
Quốc gia: (Iceland, Mỹ, Ireland, Canada, Greenland) Các quốc gia không có đất: (Mỹ, Canada)
Trong ví dụ trên, chúng ta đã sử dụng phương thức Java String chứa () để kiểm tra xem phần tử có chứa đất trong đó hay không. Đây,
e -> e.contains("land")
- trả vềtrue
nếu phần tử chứa đất trong đóremoveIf()
- loại bỏ phần tử nếue -> e.contains("land")
trả vềtrue
.