package javareview.basic.stream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class ToMapTest {
public static void main(String[] args) {
List<User> users = new ArrayList<User>();
users.add(new User("libai",20));
users.add(new User("dufu",23));
users.add(new User("liyi",32));
Function<User, String>functionKey = new Function<User, String>() {
@Override
public String apply(User user) {
return user.getUserName();
}
};
Function<User, Integer> functionValue = new Function<User, Integer>() {
@Override
public Integer apply(User user) {
return user.getAge();
}
};
Map<String, Integer> collect = users.stream().collect(Collectors.toMap(functionKey, functionValue));
System.out.println(collect);
Map<String, Integer> co = users.stream().collect(Collectors.toMap(userKey -> userKey.getUserName(), userValue -> userValue.getAge()));
System.out.println(co);
Map<String, Integer> co1 = users.stream().collect(Collectors.toMap(User :: getUserName, User :: getAge));
System.out.println(co1);
}
}
package javareview.basic.stream;
public class User {
private String userName;
private Integer age;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public User(String userName, Integer age) {
super();
this.userName = userName;
this.age = age;
}
public User() {
}
}