有一个用户类
public class User {
String name;
Integer age;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public Integer getAge() {
return age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
如何在工作表中按年龄过滤重复用户以获得输出,如“预期”行通过streamAPI在一行中,不使用第三方库,不使用辅助方法,不改变User类的结构?
public static void main(String[] args) {
List<User> list1 = asList(new User("Misha", 1),
new User("Vova", 33),
new User("Vova", 33),
new User("Peter", 2));
// try that: List<User> res = list1.stream().flatMap(User::getAge).distinct().flatMap(User::getClass).collect(Collectors.toList());
// expected: [User("Misha", 1),User("Vova", 33), User("Peter", 2), )]
}
1 个回答