import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class lambdaTest {
public static void main(String[] arge){
List<User> userList=new ArrayList<>();
userList.add(new User(1,"aa"));
userList.add(new User(2,"aa"));
userList.add(new User(3,"dd"));
userList.add(new User(4,"cc"));
userList.add(new User(5,"bb"));
List<Integer> userIds = userList.stream().map(user -> user.getId()).collect(Collectors.toList());
List<String> userNames=userList.stream().map(user -> user.getName()).distinct().collect(Collectors.toList());
Map<Integer,User> userMap=userList.stream().collect(Collectors.toMap(User::getId,user -> user));
Map<Integer,String> userMap1=userList.stream().collect(Collectors.toMap(User::getId,user -> user.getName()));
Map<Integer, User> userMap2 = userList.stream().collect(Collectors.toMap(User :: getId, u -> u, (oldV, newV) -> newV));
List<User> users = new ArrayList<User>();
users.sort((u1, u2) -> u1.getId().compareTo(u2.getId()));
userIds.forEach(u-> System.out.println(u));
userNames.forEach(name -> System.out.println(name));
userMap.forEach((key,value)->{
System.out.println(key+"---"+value.toString());
});
userMap1.forEach((key,value)->{
System.out.println(key+"---"+value);
});
}
}
public class User {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(Integer id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}