Java 8 Interview Questions
Created by Ashok
Stream API | Lambda Expressions | Collections
Q1. Count Occurrence of Characters in a String
String name = "akshay was good person";
Map<Character, Long> occurrence = [Link]()
.mapToObj(c -> (char) c)
.collect([Link](
[Link](),
[Link]()
));
[Link]("Character Occurrence: " + occurrence);
Q2. Remove Duplicates from List
List<String> list = [Link]("ashok", "ashok", "mahesh", "asp");
List<String> newList = [Link]()
.distinct()
.collect([Link]());
[Link]("Unique List: " + newList);
Q3. Remove Duplicate Characters from String
String name = "programming";
[Link]([Link](""))
.distinct()
.forEach([Link]::print);
Q4. Find Longest Word from List
List<String> list = [Link]("krishan", "balaram", "jagannath");
String longest = [Link]()
.max([Link](String::length))
.get();
[Link]("Longest Word: " + longest);
Q5. Find Second Longest String
List<String> list = [Link]("krishana", "baldev", "subhadra", "sudarshan");
String secondLongest = [Link]()
.sorted([Link](String::length).reversed())
.skip(1)
.findFirst()
.get();
[Link]("Second Longest String: " + secondLongest);
Q6. Find Maximum Number from List
List<Integer> numbers = [Link](12, 44, 6, 66, 77, 777);
int max = [Link]()
.max(Integer::compareTo)
.get();
[Link]("Max Number: " + max);
Q7. Find Minimum Number from List
List<Integer> numbers = [Link](12, 45, 78, 34, 67);
int min = [Link]()
.min(Integer::compareTo)
.get();
[Link]("Min Number: " + min);
Q8. Reverse a String
String name = "ashok";
String reversed = new StringBuilder(name)
.reverse()
.toString();
[Link]("Reversed String: " + reversed);
Q9. Find Even Numbers from List
List<Integer> numbers = [Link](1, 4, 5, 78, 8, 2, 4);
List<Integer> even = [Link]()
.filter(n -> n % 2 == 0)
.collect([Link]());
[Link]("Even Numbers: " + even);
Q10. Find Odd Numbers from List
List<Integer> numbers = [Link](23, 4, 5, 7, 8, 9, 11, 12, 34);
List<Integer> odd = [Link]()
.filter(n -> n % 2 == 1)
.collect([Link]());
[Link]("Odd Numbers: " + odd);
Q11. Convert List to Uppercase
List<String> list = [Link]("Apple", "Banana", "Cherry", "Date", "Mango", "Carrot");
List<String> upper = [Link]()
.map(String::toUpperCase)
.collect([Link]());
[Link]("Uppercase List: " + upper);
Q12. Convert to Uppercase Only Strings Starting with 'C'
List<String> list = [Link]("Apple", "Banana", "Cherry", "Date", "Mango", "Carrot");
List<String> result = [Link]()
.filter(s -> [Link]("C"))
.map(String::toUpperCase)
.collect([Link]());
[Link]("Uppercase (Start with C): " + result);
Q13. Merge Two Lists and Remove Duplicates
List<String> list1 = [Link]("Apple", "Banana", "Cherry", "demo");
List<String> list2 = [Link]("Date", "Mango", "demo", "Carrot");
List<String> merged = [Link]([Link](), [Link]())
.distinct()
.collect([Link]());
[Link]("Merged List (Unique): " + merged);
Q14. Count Letters, Digits, and Special Characters
String name = "akshy@#%^&1234";
long letters = [Link]()
.mapToObj(c -> (char) c)
.filter(Character::isLetter).count();
long digits = [Link]()
.mapToObj(c -> (char) c)
.filter(Character::isDigit).count();
long special = [Link]()
.mapToObj(c -> (char) c)
.filter(c -> ).count();
[Link]("Letters: " + letters);
[Link]("Digits: " + digits);
[Link]("Special Characters: " + special);
Q15. Find Highest Element from Array
int[] arr = {23, 45, 77, 89, 35, 78};
int max = arr[0];
for (int num : arr) {
if (num > max) max = num;
}
[Link]("Highest Element: " + max);
Q16. Find Minimum Element from Array
int[] arr = {23, 45, 77, 89, 35, 78};
int min = arr[0];
for (int num : arr) {
if (num < min) min = num;
}
[Link]("Minimum Element: " + min);
Q17. Add Two Lists Element-Wise
List<Integer> list1 = [Link](1, 2, 3);
List<Integer> list2 = [Link](4, 5, 6);
List<Integer> result = new ArrayList<>();
for (int i = 0; i < [Link](); i++) {
[Link]([Link](i) + [Link](i));
}
[Link]("Addition of two lists: " + result);
Java 8 Interview Questions — Created by Ashok