Skip to content

Yet another programming solutions log

Sample bits from programming for the future generations.

Technologies Technologies
  • Algorithms and Data Structures
  • Java Tutorials
  • JUnit Tutorial
  • MongoDB Tutorial
  • Quartz Scheduler Tutorial
  • Spock Framework Tutorial
  • Spring Framework
  • Bash Tutorial
  • Clojure Tutorial
  • Design Patterns
  • Developer’s Tools
  • Productivity
  • About
Expand Search Form

Java 8 remove selected item from Collection

farenda 2016-11-29 0

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:

  • How to generate range of numbers
  • Check out other cool Java Tutorials!
Share with the World!
Categories Java Tags java, java-collections, java-util, java8
Previous: Java ThreadLocal – thread data separation
Next: Composed Method Pattern explained

Recent Posts

  • Java 8 Date Time concepts
  • Maven dependency to local JAR
  • Caesar cipher in Java
  • Java casting trick
  • Java 8 flatMap practical example
  • Linked List – remove element
  • Linked List – insert element at position
  • Linked List add element at the end
  • Create Java Streams
  • Floyd Cycle detection in Java

Pages

  • About Farenda
  • Algorithms and Data Structures
  • Bash Tutorial
  • Bean Validation Tutorial
  • Clojure Tutorial
  • Design Patterns
  • Java 8 Streams and Lambda Expressions Tutorial
  • Java Basics Tutorial
  • Java Collections Tutorial
  • Java Concurrency Tutorial
  • Java IO Tutorial
  • Java Tutorials
  • Java Util Tutorial
  • Java XML Tutorial
  • JUnit Tutorial
  • MongoDB Tutorial
  • Quartz Scheduler Tutorial
  • Software Developer’s Tools
  • Spock Framework Tutorial
  • Spring Framework

Tags

algorithms bash bean-validation books clojure design-patterns embedmongo exercises git gof gradle groovy hateoas hsqldb i18n java java-basics java-collections java-concurrency java-io java-lang java-time java-util java-xml java8 java8-files junit linux lists log4j logging maven mongodb performance quartz refactoring regex rest slf4j solid spring spring-boot spring-core sql unit-tests

Yet another programming solutions log © 2021

sponsored