Flatmap
Stream.of(1, 2, 3, 4) .map(x -> x * 2) .collect(Collectors.toList()) // -> [2, 4, 6, 8]
Stream.of(1, 2, 3, 4) .map(x -> Stream.of(-x, x, x + 1)) .collect(Collectors.toList()) /* [java.util.stream.ReferencePipeline$Head@3532ec19, java.util.stream.ReferencePipeline$Head@68c4039c, java.util.stream.ReferencePipeline$Head@ae45eb6, java.util.stream.ReferencePipeline$Head@59f99ea] */Stream.of(1, 2, 3, 4) .flatMap(x -> Stream.of(-x, x, x+1)) .collect(Collectors.toList()) // [-1, 1, 2, -2, 2, 3, -3, 3, 4, -4, 4, 5]
class Employee { private String firstName, lastName; private Integer yearlySalary; // getters, setters, toString } class Manager extends Employee { private List<Employee> employeeList; // getters, setters, toString }List.of(manager1, manager2).stream() .flatMap(m -> Stream.concat(m.getEmployeeList().stream(), Stream.of(m))) .distinct() .mapToInt(Employee::getYearlySalary)
Last updated