假设我有一个名为
使用Java Stream-API将其转换为以下地图是否可能?
Employee
的类以及一个包含这些Employee
类的列表:class Employee {
private String praefix;
private String middleFix;
private String postfix;
private String name;
public Employee(String praefix, String middleFix, String postfix, String name) {
this.praefix = praefix;
this.middleFix = middleFix;
this.postfix = postfix;
this.name = name;
}
public String getPraefix() {
return praefix;
}
public void setPraefix(String praefix) {
this.praefix = praefix;
}
public String getMiddleFix() {
return middleFix;
}
public void setMiddleFix(String middleFix) {
this.middleFix = middleFix;
}
public String getPostfix() {
return postfix;
}
public void setPostfix(String postfix) {
this.postfix = postfix;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
List<Employee> employees = new ArrayList<>();
employees.add(new Employee("A", "B", "C", "Michael Phelps"));
employees.add(new Employee("A", "B", "C", "Cristiano Ronaldo"));
employees.add(new Employee("D", "E", "F", "Usain Bolton"));
employees.add(new Employee("D", "E", "F", "Diego Armando Maradona"));
employees.add(new Employee("D", "E", "F", "Lionel Messi"));
使用Java Stream-API将其转换为以下地图是否可能?
{A.B.C=[Cristiano Ronaldo, Michael Phelps], D.E.F=[Aydin Korkmaz, Diego Armando Maradona, Usain Bolton]}
Stream.of(x.getPraefix(), x.getMiddleFix(), x.getPostfix()) .collect(Collectors.joining(".")
could be replaced with simple concatenation using+
- IvanString.join
可以进一步简化这个过程。 - Eugene