Java Stream API Cheat Sheet
A comprehensive reference guide featuring practical code examples for common interview scenarios
and real-world projects. Master the most essential Stream API operations with ready-to-use
implementations that solve everyday programming challenges efficiently.
Basic Operations & Filtering
Find Numbers Starting with Digit
List<String> result = [Link]()
1 .map(String::valueOf)
.filter(num -> [Link]("2"))
.toList();
Find Duplicate Elements
2 Set<Integer> duplicates = [Link]()
.filter(n -> [Link](numbers, n) > 1)
.collect([Link]());
Find Largest Element
3 int max = [Link]()
.max(Integer::compare)
.get();
String Processing Techniques
Essential string operations using Stream API for character analysis and text processing tasks commonly
encountered in coding interviews.
First Non-Repeated Character
Character firstNonRepeat = [Link]()
1 .mapToObj(c -> (char)c)
.filter(c -> [Link](c) == [Link](c))
.findFirst().orElse(null);
Character Count Mapping
Map<Character, Long> charCount = [Link]()
2 .mapToObj(c -> (char)c)
.collect([Link](c -> c,
[Link]()));
Most Repeated Character
Character mostRepeated = [Link]()
.mapToObj(c -> (char)c)
3 .collect([Link](c -> c,
[Link]()))
.entrySet().stream()
.max([Link]())
.map([Link]::getKey).orElse(null);
Sorting & Mathematical Operations
Sort in Descending Order
1 List<Integer> sortedDesc = [Link]()
.sorted([Link]())
.toList();
Cube Elements Greater than 50
List<Integer> cubes = [Link]()
2 .map(n -> n*n*n)
.filter(cube -> cube > 50)
.toList();
Find Nth Largest Number
int nthLargest = [Link]()
3 .sorted([Link]())
.skip(n-1)
.findFirst().orElseThrow();
Sum of Even Numbers
int sum = [Link]()
4 .filter(n -> n % 2 == 0)
.mapToInt(Integer::intValue)
.sum();
Advanced Collection Operations
Complex data manipulation techniques including flattening, partitioning, and collection transformations
for enterprise-level applications.
Flatten List of Lists
1 List<Integer> flatList = [Link]()
.flatMap(List::stream)
.toList();
Partition Even and Odd
2 Map<Boolean, List<Integer>> partition =
[Link]()
.collect([Link](n -> n % 2 == 0));
Convert to Map
3 Map<Integer, String> map = [Link]()
.collect([Link](n -> n, String::valueOf));
Join to String
4 String joined = [Link]()
.map(String::valueOf)
.collect([Link](", "));
Real-World Applications
Employee Sorting
List<Employee> sorted = [Link]()
.sorted([Link](e -> [Link]))
.toList();
Find Longest Word
String longest = [Link]([Link](" "))
.max([Link](String::length))
.orElse("");
Find Common Elements
List<Integer> common = [Link]()
.filter(list2::contains)
.toList();
These patterns form the foundation for efficient data processing in modern Java applications, enabling
clean and maintainable code solutions.