BAEL-2448
Code examples for article.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package com.baeldung.collection.filtering;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Various filtering examples.
|
||||
*
|
||||
* @author Rodolfo Felipe
|
||||
*/
|
||||
public class CollectionFilteringExamples {
|
||||
|
||||
private List<Employee> buildEmployeeList() {
|
||||
return Arrays.asList(new Employee(1, "Mike", 1), new Employee(2, "John", 1), new Employee(3, "Mary", 1), new Employee(4, "Joe", 2), new Employee(5, "Nicole", 2), new Employee(6, "Alice", 2), new Employee(7, "Bob", 3), new Employee(8, "Scarlett", 3));
|
||||
}
|
||||
|
||||
private List<String> employeeNameFilter() {
|
||||
return Arrays.asList("Alice", "Mike", "Bob");
|
||||
}
|
||||
|
||||
private List<Employee> getFilteredEmployeeList() {
|
||||
List<Employee> filteredList = new ArrayList<>();
|
||||
for (Employee employee : buildEmployeeList()) {
|
||||
for (String name : employeeNameFilter()) {
|
||||
if (employee.getName()
|
||||
.equalsIgnoreCase(name)) {
|
||||
filteredList.add(employee);
|
||||
}
|
||||
}
|
||||
}
|
||||
return filteredList;
|
||||
}
|
||||
|
||||
private List<Employee> getFilteredEmployeeListLambdaExample() {
|
||||
return buildEmployeeList().stream()
|
||||
.filter(employee -> employeeNameFilter().contains(employee.getName()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private List<Employee> getFilteredEmployeeListLambdaExampleWithHashSetContains() {
|
||||
Set<String> nameFilterSet = employeeNameFilter().stream()
|
||||
.collect(Collectors.toSet());
|
||||
return buildEmployeeList().stream()
|
||||
.filter(employee -> nameFilterSet.contains(employee.getName()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.baeldung.collection.filtering;
|
||||
|
||||
/**
|
||||
* Java 8 Collection Filtering by List of Values base class.
|
||||
*
|
||||
* @author Rodolfo Felipe
|
||||
*/
|
||||
public class Employee {
|
||||
|
||||
private Integer employeeNumber;
|
||||
private String name;
|
||||
private Integer departmentId;
|
||||
|
||||
public Employee(Integer employeeNumber, String name, Integer departmentId) {
|
||||
this.employeeNumber = employeeNumber;
|
||||
this.name = name;
|
||||
this.departmentId = departmentId;
|
||||
}
|
||||
|
||||
public Integer getEmployeeNumber() {
|
||||
return employeeNumber;
|
||||
}
|
||||
|
||||
public void setEmployeeNumber(Integer employeeNumber) {
|
||||
this.employeeNumber = employeeNumber;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getDepartmentId() {
|
||||
return departmentId;
|
||||
}
|
||||
|
||||
public void setDepartmentId(Integer departmentId) {
|
||||
this.departmentId = departmentId;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user