We can split a collection into multiple subcollections using a Predicate, Lambda, Streams and the Collectors.partitioningBy() method.
Example:
package org.code2care.examples;
import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class SplitCollectionByPredicateExample {
public static void main(String... args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Predicate<Integer> isEven = num -> num % 2 == 0;
Map<Boolean, List<Integer>> evenOddMap = numbers.stream()
.collect(Collectors.partitioningBy(isEven));
List<Integer> evenNumbers = evenOddMap.get(true);
List<Integer> oddNumbers = evenOddMap.get(false);
System.out.println("Even Numbers: " + evenNumbers);
System.out.println("Odd Numbers: " + oddNumbers);
}
}
Output:
If you are working with Set then your code will be as follows.
Set<Integer> numbers = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
Predicate<Integer> isEven = num -> num % 2 == 0;
Set<Integer> evenNumbers = numbers.stream()
.filter(isEven)
.collect(Collectors.toSet());
Facing issues? Have Questions? Post them here! I am happy to answer!
More Posts related to Java,
- Deep Dive into Java 8 Predicate Interface
- Read and Parse XML file using Java DOM Parser [Java Tutorial]
- Java 8 Predicate Functional Interface isEqual() Method Example
- Convert Multidimensional Array toString In Java
- How to read int value using Scanner Class Java
- Spring Boot AI + LLM + Java Code Example
- Write to a File using Java Stream API
- Implementing Bubble Sort Algorithm using Java Program
- How to Fix XmlBeanDefinitionStoreException in Java SpringBoot ApplicationConfig.xml
- YAML Parser using Java Jackson Library Example
- [Fix] java: integer number too large compilation error
- Convert JSON String to Java GSON Object Example
- Read a file using Java 8 Stream
- Java Spring Boot 3 Web Hello World with Gradle in IntelliJ
- Ways Compare Dates in Java Programming with Examples
- Pretty Print JSON String in Java Console Output
- Java JDBC with Join Queries Example
- How to Check For Updates on Windows 11 (Step-by-Step)
- [Fix] java.net.MalformedURLException: unknown protocol
- How to display date and time in GMT Timezone in Java
- Error: LinkageError occurred while loading main class UnsupportedClassVersionError [Eclipse Java]
- How to convert a String to Java 8 Stream of Char?
- RabbitMQ Queue Listener Java Spring Boot Code Example
- 5+ Fibonacci number Series Java Program Examples [ 0 1 1 2 3 ..]
- Handling NullPointerException with Java Predicate
More Posts:
- Convert SQL to CSV in Notepad++ - NotepadPlusPlus
- URL Decoder Tool - Tools
- How to change the tab color on Microsoft Excel on Mac - MacOS
- Java: Convert String to InputStream - Java
- How to Convert Python Notebook .ipynb (JSON) to Executable .py Module - Python
- How to Reconfigure Current Date and Time on Mac using Terminal - MacOS
- [fix] zsh: command not found: git - Git
- This class should be public (android.support.v7.internal.widget.ActionBarView.HomeView) Lint Error - Android