Quantcast
Channel: Java tutorial and Java Interview Questions and Answers
Viewing all articles
Browse latest Browse all 154

Java 8 Stream Coding Interview questions and answers

$
0
0

      Before attending any interview need to look into the Stream coding questions beacuse Stream API is an important topic in java 8.

Below are the java 8 stream coding questions and answers.

1) Write a program to print the list of elements from a list using java 8 stream

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
              List<String> list = Arrays.asList(new String[]{"ABC","BCD","CDE"});
	      list.stream().forEach(s -> System.out.println(s));}}

Output:- ABC
              BCD
              CDE

2) Write a program to convert lowercase string element of a list into uppercase.

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	   List<String> list = Arrays.asList(new String[]{"Abc","bcd","cde"});
	   list.stream().map(s-> s.toUpperCase()).forEach(
				s -> System.out.println(s));}}

Output:- ABC
              BCD
              CDE

3) Print a list of strings those start with letter "A" and return updated list.

importjava.util.Arrays;importjava.util.List;importjava.util.stream.Collectors;publicclassJava8Stream{publicstaticvoidmain(String[] args){
		List<String> list = Arrays.asList(new String[]{"Abc","bcd","cde"});
		List<String> updatedList = list.stream().filter(s-> s.startsWith("A")).collect(Collectors.toList());
		updatedList.stream().forEach(s -> System.out.println(s));}}

Output:- Abc

4) Write a code to calculate the summation of the integers from the list.

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
		List<Integer> list = Arrays.asList(new Integer[]{1,2,3,4,5});//Using lambda expression
		Integer sum = list.stream().mapToInt(i -> i).sum();
		System.out.println(sum);//Using Integer valueOf method
		Integer sumOfIntegers = list.stream().mapToInt(Integer::valueOf).sum();
		System.out.println(sumOfIntegers);//Using Integer intValue method
		Integer sumOfIntegerValue = list.stream().mapToInt(Integer::intValue).sum();
		System.out.println(sumOfIntegerValue);}}

Output:- 15
              15
              15

5) Create a Map object from List using Stream API

importjava.util.Arrays;importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;publicclassJava8Stream{publicstaticvoidmain(String[] args){
		List<String> list = Arrays.asList(new String[]{"Ab","Bcd","Ce"});
		Map<String, Integer> map = list.stream().collect(Collectors.toMap(
				s->s, s->s.length()));
		map.forEach((x,v)-> System.out.println("key - "+x+", value - "+v));}}

Output:-
key - Ab, value - 2
key - Ce, value - 2
key - Bcd, value - 3

6) Write a program to list the distinct integers from list or remove duplicates from the list.

importjava.util.Arrays;importjava.util.List;importjava.util.stream.Collectors;publicclassJava8Stream{publicstaticvoidmain(String[] args){
		List<Integer> list = Arrays.asList(new Integer[]{1,2,1,4});
		List<Integer> listWithDistinct = list.stream().distinct().collect(Collectors.toList());
		listWithDistinct.stream().forEach(s-> System.out.println(s));}}

Output:-1
             2
             4

7) Write a program to find the Minimum number from a Stream/list.

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	     List<Integer> list = Arrays.asList(new Integer[]{1,2,3,4});
	     Integer minNumber = list.stream().mapToInt(s->s).min().getAsInt();
	     System.out.println(minNumber);}}

Output:-1

8) Write a program to find the Maximum number from a Stream/list.

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	     List<Integer> list = Arrays.asList(new Integer[]{1,2,3,4});
	     Integer maxNumber = list.stream().mapToInt(s->s).max().getAsInt();
	     System.out.println(maxNumber);}}

Output:-4

9) Write a program to sort the given list using java 8 stream.

importjava.util.Arrays;importjava.util.List;importjava.util.stream.Collectors;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	     List<Integer> list = Arrays.asList(new Integer[]{8,2,3,4});
	     List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
	     sortedList.stream().forEach(s-> System.out.println(s));}}

Output:-2
             3
             4
             8

10) Write a program to sort the given list in descending order using stream.

importjava.util.Arrays;importjava.util.Collections;importjava.util.List;importjava.util.stream.Collectors;publicclassJava8Stream{publicstaticvoidmain(String[] args){
		List<Integer> list = Arrays.asList(new Integer[]{8,2,3,4});
		List<Integer> sortedList = list.stream().sorted(
				Collections.reverseOrder()).collect(Collectors.toList());
		sortedList.stream().forEach(s-> System.out.println(s));}}

Output:-8
             4
             3
             2

11) Write a program to count the total number of integers in the list.

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	     List<Integer> list = Arrays.asList(new Integer[]{8,2,3,4});long count = list.stream().count();
	     System.out.println(count);}}

Output:-4

12)  Convert List<List<String>> into List<String> using flatMap method.

importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;importjava.util.stream.Collectors;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	     List<List<Integer>> listListOfStrings =new ArrayList<List<Integer>>();
	     List<Integer> list = Arrays.asList(new Integer[]{8,2,3,4});
	     listListOfStrings.add(list);//use flatMap method
	     List<Integer> newList = listListOfStrings.stream().flatMap(
				s-> s.stream()).collect(Collectors.toList());
	     newList.stream().forEach(s-> System.out.println(s));}}

Output:-8
             2
             3
             4

13) Group by a list element and display the total count of the element using Collectors groupingBy method.

importjava.util.Arrays;importjava.util.List;importjava.util.Map;importjava.util.function.Function;importjava.util.stream.Collectors;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	     List<String> letters = Arrays.asList("A","B","C","A","D","C","D");
	     Map<String, Long> mapWithLetterCount = letters.stream().collect(
	                        Collectors.groupingBy(
	                                Function.identity(), Collectors.counting()));  
	     System.out.println(mapWithLetterCount);}}

Output:- {A=2, B=1, C=2, D=2}

14)  Find the first element from the given list using java 8 stream.

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	     List<String> letters = Arrays.asList("A","B","C","A","D","C","D");
	     String firstElement = letters.stream().findFirst().orElse("Default");  
	     System.out.println(firstElement);}}

Output:-A

15)  anyMatch code example - if any one of the list element matches with given character "A" then return true.

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
             List<String> letters = Arrays.asList("A","B","C","D");boolean foundElement = letters.stream().anyMatch(s-> s.equalsIgnoreCase("A"));  
	     System.out.println(foundElement);}}

Output:-true

16) allMatch code example - if all of the elements matches with the given element say "A" then return true else false.

importjava.util.Arrays;importjava.util.List;publicclassJava8Stream{publicstaticvoidmain(String[] args){
             List<String> letters = Arrays.asList("A","B","C","D");boolean foundMatches = letters.stream().allMatch(s-> s.equalsIgnoreCase("A"));  
	     System.out.println(foundMatches);}}

Output:-false

17) Write a program to remove the duplicates from the list using Collectors toSet method.

importjava.util.Arrays;importjava.util.List;importjava.util.Set;importjava.util.stream.Collectors;publicclassJava8Stream{publicstaticvoidmain(String[] args){
	     List<String> letters = Arrays.asList("A","B","C","D","A","B");
	     Set<String> nonDuplicateSet = letters.stream().collect(Collectors.toSet());  
	     nonDuplicateSet.stream().forEach(s-> System.out.println(s));}}

Output:-A
             B
             C
             D

     
Thank you for reading the post.

Viewing all articles
Browse latest Browse all 154

Trending Articles