【发布时间】:2015-01-29 19:16:55
【问题描述】:
我们使用几个Map 作为对象列表上的简单内存数据库:
class Person {
public String id;
public String phone;
public String email;
// and get/set and other fields...
}
List<Person> persons;
Map<String, Person> emailLookup = persons.stream()
.collect(Collectors.toMap(Person::getEmail, p -> p));
Map<String, Person> phoneLookup = persons.stream()
.collect(Collectors.toMap(Person::getPhone, p -> p));
Map<String, Person> idLookup = persons.stream()
.collect(Collectors.toMap(Person::getId, p -> p));
Java SE 中是否有任何语法糖或内置仿函数可以将p -> p 替换为其他内容?
【问题讨论】:
标签: java lambda java-8 java-stream