Collection.removeIf is a very powerful method that acts on a condition. In the code sample below, there is a list which has few elements in it and the condition is to list all elements that are not even numbers. The condition is specified in the Predicate.
Code snippet:
import java.util.function.Predicate;import java.util.*;public class CollectionsRemoveIf{ public static void main(String args[]) { CollectionsRemoveIf collectionsRemoveIf = new CollectionsRemoveIf(); collectionsRemoveIf.proceed(); } private void proceed() { List numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(5); numbers.add(6); numbers.add(7); numbers.add(8); Predicate removeEvenNumbers = i - i % 2 == 0; System.out.println("Original list..."); for (int numberValue : numbers) { System.out.println(numberValue); } //Predicate, the condition, is being added to the removeIf. numbers.removeIf(removeEvenNumbers); System.out.println("Odd numbers list..."); for (int numberValue : numbers) { System.out.println(numberValue); } }}/*
Expected output:
[root@mypc]# java CollectionsRemoveIfOriginal list...135678Odd numbers list...1357*/