Java Programming Tutorials

Java programming tutorials with many code examples!

Java 8 remove selected item from Collection

In Java 8 remove selected item from Collection? It can be done in at least two ways both of which we are going to implement here. Let’s code!

Pre Java 8 version

Before Java 8 you could remove selected items from Collection in the following way:

List<Integer> numbers = inclusiveRange(1, 10);
System.out.println("Numbers: " + numbers);
for (Iterator<Integer> it = numbers.iterator(); it.hasNext(); ) {
    if (it.next() % 2 == 0) {
        it.remove();
    }
}
numbers.removeIf(i -> i % 2 == 0);
System.out.println("Numbers: " + numbers);

It’s longish and nothing fancy, but it works:

Numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Numbers: [1, 3, 5, 7, 9]

Java 8 removeIf version

In Java 8 removeIf(Predicate) default method has been added to the java.util.Collection interface. It can be used in much more succinct way:

List<Integer> numbers = inclusiveRange(1, 10);
System.out.println("Numbers: " + numbers);
numbers.removeIf(i -> i % 2 == 0);
System.out.println("Numbers: " + numbers);

The removeIf(Predicate) takes any predicate (a method that returns true/false), removes all matching elements, and returns true if anything has been removed.

It works in the same way:

Numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Numbers: [1, 3, 5, 7, 9]

References:

Share with the World!