0% found this document useful (0 votes)
1 views7 pages

Document

The document provides a comprehensive guide on various Java Stream API operations for processing employee data and strings. It includes methods for filtering, mapping, grouping, and aggregating data, as well as string manipulations like finding characters and words. Each operation is illustrated with code snippets demonstrating its functionality.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views7 pages

Document

The document provides a comprehensive guide on various Java Stream API operations for processing employee data and strings. It includes methods for filtering, mapping, grouping, and aggregating data, as well as string manipulations like finding characters and words. Each operation is illustrated with code snippets demonstrating its functionality.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

1. How do you get a list of all employee names and ages?

List<String> namesAndAges = employeeList.stream().map(emp -> emp.getName() + " - " +


emp.getAge()).toList();

2. How do you get a list of gender and city of all employees?


List<String> genderCityList = employeeList.stream() .map(emp -> emp.getGender() + " - " +
emp.getCity()).toList();

3. How to get unique department names?


List<String> uniqueDepartments = employeeList.stream().map(Employee::getDeptName)
.distinct().toList();

4. How to get unique city names?


List<String> uniqueCities = employeeList.stream().map(Employee::getCity).distinct().toList();

5. How to find the oldest employee?


Optional<Employee>oldestEmp=employeeList.stream().max(Comparator.comparingInt(Empl
oyee::getAge));

6. How to find the average age of employees?


Double avgAge = employeeList.stream().collect(Collectors.averagingInt(Employee::getAge));

7. How to get all employees whose name starts with 'A'?


List<Employee> t=empList.stream().filter(e->e.getName().startsWith(“A”)).toList();

8. How to sort employees by age in descending order?


List<Employee> sortedByAgeDesc=employeeList.stream().sorted(Comparator.comparing(Em
ployee::getAge).reversed()).toList();

9. How to group employee names by department?


Map<String,List<String>> namesByDept=employeeList.stream().collect(Collectors.groupingB
y(Employee::getDeptName,Collectors.mapping(Employee::getName, Collectors.toList())));

10. How to calculate total age of all employees?


int totalAge = employeeList.stream().mapToInt(Employee::getAge).sum();
11. How to partition employees based on age > 30?
Map<Boolean,List<Employee>> partitioned=employeeList.stream().collect(Collectors.partitio
ningBy(emp -> emp.getAge() > 30));

12. How to find all active employees with salary > 5000?
List<Employee> highEarners = employeeList.stream().filter(emp -> emp.isActiveEmp() &&
emp.getSalary() > 5000).toList();

13. How to get names of employees from the "IT" department?


List<Employee> a=empList.stream().filter(e->”IT”.equals(emp.getDeptName()))
.map(Employee::getName).toList();

14. How to count active vs inactive employees?


Map<Boolean,Long> activeCount=employeeList.stream().collect(Collectors.groupingBy(Empl
oyee::isActiveEmp, Collectors.counting()));

15. How to get employee names from "Mumbai" sorted by salary descending?
List<String> mumbaiHighEarners = employeeList.stream().filter(emp ->
"Mumbai".equals(emp.getCity()))
.sorted(Comparator.comparingDouble(Employee::getSalary).reversed())
.map(Employee::getName)
.toList();

16. How to get all employees older than 25?


List<Employee> ageAbove25 = employeeList.stream().filter(e->e.getAge()>25).toList();

17. How to count employees in each department?


Map<String,Long> empCountByDept=employeeList.stream().collect(Collectors.groupingBy(E
mployee::getDeptName, Collectors.counting()));

18. How to get average age of employees in each department?


Map<String,Double> avgAgeByDept=employeeList.stream().collect(Collectors.groupingBy(E
mployee::getDeptName, Collectors.averagingInt(Employee::getAge)));

19. How to get a list of distinct employee ages?


List<Integer> distinctAges = employeeList.stream().map(Employee::getAge).distinct().toList();
20. How to get the salary of each employee?
List<Double> salaryList = employeeList.stream().map(Employee::getSalary).toList();

21. How to get average salary per department?


Map<String,Double>avgSalaryByDept=employeeList.stream().collect(Collectors.groupingBy(
Employee::getDeptName, Collectors.averagingDouble(Employee::getSalary)));

22. Find the first repeatating character in the string using stream api?
String str=”Java code threads”;
LinkedHashMap<Character,Long> input=str.toLowerCase().chars().mapToObj(c->(char)c).
collect(Collectors.groupingBy(x->x,LinkedhashMap::new,Collectors.counting()));
Character character=input.entrySet().stream().filter(x->x.getValue()>1).
map(x->x.getKey()).findFirst().get();

22. Find the first non-repeatating character in the string using stream api?
LinkedHashMap<Character,Long> output=str.toLowerCase().chars().mapToObj(c->(char)c).
Collect(Collectors.groupingBy(x->x,LinkedHashMap::new,Collectors.counting()));

Character character=input.entrySet().stream().filter(x->x.getValue()==1).
map(x->x.getKey()).findFirst().get();

23. Find the most repeated character in string


String str=”jashdjgsgxsafc”;
Optional<Character> input=str.chars().mapToObj(c->(char)c).collect(Collectors.groupingBy(
Fundtion.identity(),Collectors.counting()).
entrySet().
stream().
max(Map.Entry.<Character,Long>comparingByValue()).
map(Map.Entry::getKey);

input.ifPresentOrElse(c->Syestem.out.println(“Most repeated charcter”+c),


()->System.out.println(“String is empty or has no repeated characters”));

24. Find the frequency of each character in string


String str=”Ravichavan”;
Map<Character,Long> input=str.chars().mapToObj(c->(char)c).collect(Collectors.groupingBy(
Function.identity().Collectors.counting()));

25. Find the frequency of String in a List


List<String > sList=Arrays.asList(“Ravi”,”Sumit”,”Karun”,”Nava”,”Nava”,”Ravi”);
Map<String,Long> input=sList.stream().collect(Collectors.groupingBy(Function.identity(),
Collectors.counting()));
26. Find the longest word in a string
String str=”Virat Kohali and mahendrasingh dhoni”;
String longestWord=Arrays.stream(str.split(“ ”)).max(Comparator.comparingInt(
String::length)).orElse(“ “);

26. Find the longest word in a string


String smallestWord=Arrays.stream(str.split(“ “)).min(Comparator.comparingInt(
String::length)).orElse(“ ”);

27. Find the Second longest word in the string


String secondLongest=Arrays.stream(str.split(“ ”)).sorted(Comparator.comparing(
String::length).reversed()).skip(1).findFirst().orElse(“ ”);

28. Find the 2nd highest word length


int secondLength=Arrays.stream(str.split(“ “)).map(x->x.length()).sorted(Copmarator.
reverseOrder()).skip(1).findFirst().get();

29. Find the Duplicate character in string


String str=”jhdasgcdvcgahv”;
List<Character> list=str.chars().distinct().mapToObj(c->(char)c).collect(Collectors.toList);

30. How do you count by each and every word length


List<String> str=Arrays.asList(“helloworld”);
Map<Integer,Long> input=str.stream().collect(Collectors.groupingBy(String::length,
Collectors.counting));

31. How do you find the groupLength


List<String> str=Arrays.asList(“banana”,”apple”,”chicku”);
Map<Integer,List<String>> input=str.stream().collect(Collectors.groupingBy(String::length));

32. Given a list of Strings, find the frequency of each word using Java Streams
List<String> words = Arrays.asList("apple", "cherry", "apple", "orange", "banana", "cherry");
Map<String,Long> input=Arrays.stream().collect(Collectors.groupingBy(Function.identity(),
Collectors.counting()));

33. Find the Second highest value in the list


List<Integer> list=Arrays.asList(1,2,3,7,9,4,6);
Optional<Integer> input=list.stream().sorted(Comparator.reverseOrder()).limit(2).skip(1).
findFirst();
34. Find the Second lowest value in the list
Optional<Integer> input=list.stream().sorted(Comparator.naturalOrder()).limit(2).skip(1).
findFirst();

35. Find the max value in the list


int max=list.stream().max(Integer::compareTo).get();

36. Find the min value in the list


int min=list.stream().min(Integer::compareTO).get();

37. How do you find the unique element


List<Integer> list=Arrays.asList(1,2,3,4,5,3,2);
List<Integer> h=list.stream().distinct().toList();

Set<Integer> f=new HashSet<>();


List<Integer> n=list.stream().filter(k->!f.add(k)).toList();

38. How do we find in the list even number


List<Integer> list=Arrays.asList(1,23,4,5,8,9);
List<Integer> input=list.stream().filter(n->n%2==0).toList();

39. Pair anagrams from a list of strings. one word consider only one anagram
String [] a1={"pat","tap","pan","map","team","tree","meat"};
List<String> list=Arrays.asList(a1);
Map<Object,List<String>> list1=list.stream().stream(Collectors.groupingBy(
x->toLowerCase().split(“ ”)).sorted(Collectors.toList()));

40. Find the sum of all the elements in a list.


List<Integer> list=Arrays.asList(1,2,3,4,5);
int ad=list.stream().mapToInt(Integer::intValue).sum();

41. Sort a list of strings in alphabetical order


List<String> list=Arrays.asList(“Virat”,”Ravi”,”Balu”,”Pavan”);
List<String> num=list.stream().sorted().toList();
42. find the 2nd highest occurring character in a string using Java 8 Stream API
String st = "thetimeisthreeoclock";
Optional<Character> secondMax = st.chars()
.mapToObj(c -> (char) c)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet()
.stream()
.sorted(Map.Entry.<Character, Long>comparingByValue().reversed())
.skip(1) // skip the first (most frequent)
.map(Map.Entry::getKey)
.findFirst(); // get the second highest
secondMax.ifPresentOrElse(

c -> System.out.println("Second most repeated character: " + c),


() -> System.out.println("No second most frequent character found")

);

42. How do we reverse String


String s=”Ravi”;
String rev=””;
for(int i=0; i<s.length()-1 ; i--)
{
rev=rev+s.charAt(i);

}
System.out.println(rev);

43. How do we check the String is palindrome or not


String s=”Dipak”;
String rev=””;
for(int i=s.length()-1;i>=0; i--)
{
rev=rev+s.charAt(i);
}
if(s.equals(rev))
{
Sytem.out.println(“Palindrome number”);
}
else {
System.out.println(“ Palindrome String”); }

You might also like