Java8
streams provide forEach function, which performs an action for each element of
this stream.
Normal for
loop
for
(Employee emp : employees) {
System.out.println(emp);
}
….can be
translated easily into forEach statement like following.
employees.stream().forEach(System.out::println);
Find
following sample application.
import java.util.Objects; public class Employee { private int id; private String firstName; private String lastName; private int age; private String city; private double salary; public Employee(int id, String firstName, String lastName, int age, String city, double salary) { super(); this.id = id; this.firstName = firstName; this.lastName = lastName; this.age = age; this.city = city; this.salary = salary; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } @Override public boolean equals(Object employee) { if (Objects.isNull(employee)) return false; if (!(employee instanceof Employee)) return false; Employee emp = (Employee) employee; return id == emp.id; } @Override public int hashCode() { return Objects.hash(id, firstName, lastName, age); } @Override public String toString() { return String.format("%s(%s,%d,%f)", firstName, city, age, salary); } }
import java.util.ArrayList; import java.util.List; public class Test { public static List<Employee> getEmployees() { Employee emp1 = new Employee(1, "Hari Krishna", "Gurram", 26, "Bangalore", 40000); Employee emp2 = new Employee(2, "Joel", "Chelli", 27, "Hyderabad", 50000); Employee emp3 = new Employee(3, "Shanmukh", "Kummary", 28, "Chennai", 35000); Employee emp4 = new Employee(4, "Harika", "Raghuram", 27, "Chennai", 76000); Employee emp5 = new Employee(5, "Sudheer", "Ganji", 27, "Bangalore", 90000); List<Employee> employees = new ArrayList<>(); employees.add(emp1); employees.add(emp2); employees.add(emp3); employees.add(emp4); employees.add(emp5); return employees; } public static void main(String args[]) { List<Employee> employees = getEmployees(); for (Employee emp : employees) { System.out.println(emp); } System.out.println("\n***************"); employees.stream().forEach(System.out::println); System.out.println("\n***************"); /* Print all firstNames of employees */ employees.stream().forEach( (emp -> (System.out.println(emp.getFirstName())))); } }
Output
Hari Krishna(Bangalore,26,40000.000000) Joel(Hyderabad,27,50000.000000) Shanmukh(Chennai,28,35000.000000) Harika(Chennai,27,76000.000000) Sudheer(Bangalore,27,90000.000000) *************** Hari Krishna(Bangalore,26,40000.000000) Joel(Hyderabad,27,50000.000000) Shanmukh(Chennai,28,35000.000000) Harika(Chennai,27,76000.000000) Sudheer(Bangalore,27,90000.000000) *************** Hari Krishna Joel Shanmukh Harika Sudheer
No comments:
Post a Comment