Java 8 Interview Questions with Real-Time Examples
Java 8 introduced powerful features like Lambda Expressions, Streams, and Functional Interfaces—but are you truly ready to answer real interview questions?
This guide covers the most frequently asked Java 8 interview questions with clear explanations and practical examples to help you crack your next interview with confidence.

Program1 : Write a program that, given a list of integers, extracts and returns only the even numbers from the input collection.
package com.rkdigitalschool.msil.java8;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class EvenNumber {
public static void main(String[] args) {
List<Integer> list=Arrays.asList(12,13,14,15,16,17,19,21,23,25,26,27,29,30,32,34,36,42);
List<Integer> res=list.stream().filter(num -> num%2 ==0).collect(Collectors.toList());
res.forEach(System.out::println);
}
}
Program2 : Write a program to Find the maximum number of given list using java8
package com.rkdigitalschool.msil.java8;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class MaximumNumber {
public static void main(String[] args) {
List<Integer> list=Arrays.asList(33,56,78,33,58,22,232,456,555,666,686,999);
Optional<Integer> max=list.stream().max(Integer::compare);
if(max.isPresent()) {
int value=max.get();
System.out.println(value);
}
}
}
Program3: Write a program to Find duplicate elements in a list
package com.rkdigitalschool.msil.java8;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public class DuplicateElements {
public static void main(String[] args) {
List<Integer> list=Arrays.asList(22,34,33,36,22,33,76,88,99,87,57,98,55,45,98);
List<Integer> res =list.stream()
.filter(num -> Collections.frequency(list, num)>1)
.distinct()
.collect(Collectors.toList());
res.forEach(System.out::println);
}
}
What is Collections.frequency()?.
It counts how many times an element (o) appears in a collection (c).frequency() is a utility method from the Java Collections Framework. Internally it perform below three steps .
- Iterates through the entire collection.
- Compares each element with the given object using
.equals(). - Increments a counter when matched.
Program4: Write a program to Count occurrences of each word in java8
package com.test.rkdigital.java8;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class OccuranceWord {
public static void main(String[] args) {
String text = "Java 8 streams are powerful. Java streams are great!";
Map<String, Long> freq = Arrays.stream(text.toLowerCase().split("\\W+"))
.filter(s -> !s.isEmpty())
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
for (Map.Entry<String, Long> entry : freq.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
}
}
program5: Write a program to Remove all null values from a list
package com.test.rkdigital.java8;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
public class RemoveNull {
public static void main(String[] args) {
String text = "Java 8 streams are powerful. Java streams are great!";
List<String> list=Arrays.stream(text.toLowerCase()
.split("\\W+"))
.filter(Objects::nonNull)
.collect(Collectors.toList());
System.out.println(list);
}
}
Program6 : Write a program to Convert list of strings to uppercase
package com.test.rkdigital.java8;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class ConvertUpperCase {
public static void main(String[] args) {
String text = "Java 8 streams are powerful. Java streams are great!";
List<String> upper=Arrays.stream(text.toLowerCase().split("\\W+"))
.map(String::toUpperCase).collect(Collectors.toList());
System.out.println(upper);
}
}