In this article we are going to see about Java 8 Stream filter() , findAny() and orElse() with map() multiple conditions example program.
Employee.java
Output
Employee.java
package com.javatutorialcorner.java8; public class Employee { private String name; private int age; public Employee(String name, int age) { this.setName(name); this.setAge(age); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Employee {name : "+name+" , age : "+age+"}"; } }StreamFindAny.java
package com.javatutorialcorner.java8; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class StreamMap { public static void main(String[] args) { //Before Java 8 System.out.println("Before Java 8"); Listemployees = Arrays.asList( new Employee("Sachin Tendulkar", 41), new Employee("MS Dhoni", 34), new Employee("Rahul Dravid", 40), new Employee("Sourav Ganguly", 40) ); Employee employee = getEmployeeByName(employees, "Rahul Dravid"); System.out.println(employee); //Java 8 System.out.println("Using Java 8 filter(), map() return String "); String employeeName = employees.stream() // Convert to steam .filter(x -> "Rahul Dravid".equals(x.getName())) // we want "Rahul Dravid" only .map(Employee::getName) .findAny() // If 'findAny' then return found .orElse(null); // If not found, return null System.out.println(employeeName); System.out.println("Using Java 8 filter(), map() return List"); List employeeNames = employees.stream() .map(Employee::getName) .collect(Collectors.toList()); employeeNames.forEach(System.out::println); } private static Employee getEmployeeByName(List employees, String name) { Employee result = null; for (Employee employee : employees) { if (name.equals(employee.getName())) { result = employee; } } return result; } }
Output
Before Java 8
Employee {name : Rahul Dravid , age : 40}
Using Java 8 filter(), map() return String
Rahul Dravid
Using Java 8 filter(), map() return List
Sachin Tendulkar
MS Dhoni
Rahul Dravid
Sourav Ganguly
0 comments:
Post a Comment