Java 8 Interview Coding Questions
In this article, we’ll explore some of the most frequently asked Java 8 coding interview questions along with their solutions, to help you…
Java 8 Interview Coding Questions

In this article, we’ll explore some of the most frequently asked Java 8 coding interview questions along with their solutions, to help you strengthen your Java fundamentals and prepare confidently for your next interview.
- How do you find frequency of each character in a string using Java 8 streams?
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class Java8Program
{
public static void main(String[] args)
{
String str= "Java Coding Nuggets".replaceAll("\\s+", "");
Map<Character, Long> result=
str.chars().mapToObj(c -> (char) c)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println(result);
}
}
output: {a=2, C=1, d=1, e=1, g=3, i=1, J=1, N=1, n=1, o=1, s=1, t=1, u=1, v=1}
2. Check if two strings are anagrams or not using Java 8?
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Java8Program
{
public static void main(String[] args)
{
String str1 = "Dormitory".replaceAll("\\s+", "");
String str2 = "Dirty room".replaceAll("\\s+", "");
str1 = Stream.of(str1.split("")).map(String::toUpperCase).sorted().collect(Collectors.joining());
str2= Stream.of(str2.split("")).map(String::toUpperCase).sorted().collect(Collectors.joining());
if (str1.equals(str2))
System.out.println("The given strings are anagrams");
else
System.out.println("The given strings are not anagrams");
}
}
output:
The given strings are anagrams
3. Write a Java 8 program to sort a list of strings in ascending order based on their length?
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Java8Program
{
public static void main(String[] args)
{
List<String> listOfStrings = Arrays.asList("Apple", "Banana", "Cherry", "Dates", "Elderberry", "Fig", "Grapes");
listOfStrings.stream().sorted(Comparator.comparing(String::length)).forEach(System.out::println);
}
}
output:
Fig Apple Dates Banana Cherry Grapes Elderberry
4. Write a Java 8 program to reverse each word in a given sentence using Streams?
import java.util.Arrays;
import java.util.stream.Collectors;
public class Java8Program
{
public static void main(String[] args)
{
String word= "Java Coding Nuggets";
String result = Arrays.stream(word.split(" "))
.map(res -> new StringBuilder(res).reverse())
.collect(Collectors.joining(" "));
System.out.println(result);
}
}
output:
avaJ gnidoC stegguN
5. Find first repeated character in a string using Java 8 stream?
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class Java8Program
{
public static void main(String[] args)
{
String value = "Java Coding Nuggets".replaceAll("\\s+", "").toLowerCase();
Map<String, Long> word = Arrays.stream(value.split(""))
.collect(Collectors.groupingBy(Function.identity(), LinkedHashMap::new, Collectors.counting()));
String result = word.entrySet().stream()
.filter(res -> res.getValue() > 1)
.map(res -> res.getKey())
.findFirst()
.orElse("Not found");
System.out.println(result);
}
}
output: a
6. Find first non-repeated character in a string using Java 8 stream?
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class Java8Program
{
public static void main(String[] args)
{
String value = "Java Coding Nuggets".replaceAll("\\s+", "").toLowerCase();
Map<String, Long> word = Arrays.stream(value.split(""))
.collect(Collectors.groupingBy(Function.identity(), LinkedHashMap::new, Collectors.counting()));
String result = word.entrySet().stream()
.filter(res -> res.getValue() == 1)
.map(res -> res.getKey())
.findFirst()
.orElse("Not found");
System.out.println(result);
}
}
output: j
7. Find second largest number in an integer array using java 8?
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Java8Program
{
public static void main(String[] args)
{
List<Integer> inputs = Arrays.asList(34,99,56,87,12,39,61);
Integer num = inputs.stream()
.distinct()
.sorted(Comparator.reverseOrder())
.skip(1)
.findFirst()
.orElseThrow();
System.out.println(num);
}
}
output:
87
8. Write a Java 8 program to find all duplicate elements in an array?
import java.util.*;
import java.util.stream.Collectors;
public class Java8Program{
public static void main(String[] args) {
List<Integer> listOfIntegers =
Arrays.asList(22,45,56,22,89,56,12,92);
Set<Integer> duplicates = listOfIntegers.stream()
.collect(Collectors.groupingBy(
n -> n,
Collectors.counting()))
.entrySet()
.stream()
.filter(entry -> entry.getValue() > 1)
.map(Map.Entry::getKey)
.collect(Collectors.toSet());
System.out.println(duplicates);
}
}
output:
[22, 56]
- Write a Java 8 program to find all duplicate character in a string?
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
public class Java8Program {
public static void main(String[] args) {
String input = "Java Coding Nuggets";
Set<Character> duplicates = input
.replaceAll("\\s+", "")
.toLowerCase()
.chars()
.mapToObj(c -> (char) c)
.collect(Collectors.groupingBy(
Function.identity(),
Collectors.counting()))
.entrySet()
.stream()
.filter(entry -> entry.getValue() > 1)
.map(Map.Entry::getKey)
.collect(Collectors.toSet());
System.out.println(duplicates);
}
}
output:
[a, g, n]
10. Find the product of the number using java 8 stream?
import java.util.Arrays;
import java.util.List;
public class Java8Program{
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int product = numbers.stream()
.reduce(1, (a, b) -> a * b);
System.out.println(product);
}
}
output: 8
These Java 8 coding questions are frequently asked in interviews to evaluate a developer’s understanding of Streams, Lambda Expressions, Functional Interfaces, Collectors, and the Stream API. Mastering these problems will not only help you perform better in interviews but also improve your ability to write clean, concise, and efficient Java code.
Practice these questions regularly, experiment with different Stream operations, and try solving them without referring to the solutions. The more hands-on experience you gain, the more confident you’ll become in tackling real-world Java development challenges.
메타데이터
- post_id
- 12c843f6bdb7
- slug
- java-8-interview-coding-questions-12c843f6bdb7
- url
- https://medium.com/@rajeshwarisenthilkumar/java-8-interview-coding-questions-12c843f6bdb7
- canonical_url
- https://medium.com/@rajeshwarisenthilkumar/java-8-interview-coding-questions-12c843f6bdb7
- author_url
- https://medium.com/@rajeshwarisenthilkumar
- status
- ok
- fetched_at
- 2026-06-24 11:06:28