In this article we are going to see about Java 8 Stream filter() , findAny() and orElse() with 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; public class StreamFindAny { 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("Lokesh Rahul", 25), new Employee("Sourav Ganguly", 40) ); Employee employee = getEmployeeByName(employees, "Rahul Dravid"); System.out.println(employee); //Java 8 System.out.println("Using Java 8 filter(), findAny(), orElse()"); Employee result1 = employees.stream() // Convert to steam .filter(x ->"Lokesh Rahul".equals(x.getName()) && 25 == x.getAge()) // we want "Rahul Dravid" only .findAny() // If 'findAny' then return found .orElse(null); // If not found, return null System.out.println(result1); Employee result2 = employees.stream() .filter(x -> "MS Dhoni".equals(x.getName()) && 33 == x.getAge()) .findAny() .orElse(null); System.out.println(result2); } 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(), findAny(), orElse()
Employee {name : Lokesh Rahul , age : 25}
null
0 comments:
Post a Comment