public class Employee {
..
private Integer age;
private String name;
List<Employee> employees = Lists.ne...;
..
..
JSDK 7 Guava
위의 리스트에서 Entity의 id를 Key로 갖는 Map으로 전환 하고 싶다면 guava에서 다음과 같이 하자.
Map<Integer, Employee> employeeMap = Maps.uniqueIndex(employees, new Function< Employee, Integer>() {
public Integer apply(Employee employee) {
return employee.getAge;
}
});
JSDK 8 Lambda
// 중복의 경우
Map<Integer, List<Employee>> employeeMap = employees.stream().collect(Collectors.groupingBy(Employee::getAge));
// Unique 의 경우
Map<Integer, Employee> employeeMap2 = employees.stream().collect(Collectors.toMap(Employee::getAge, Function.identity()));