题目:请按照给出数据,找出同时满足
偶数ID 且 年龄大于24 且 用户名转为大写 且 用户名字母倒排序 最后只输出一个用户名字
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Arrays;
import java.util.List;
@Data //get set
@NoArgsConstructor // 无参构造器
@AllArgsConstructor // 全参构造器
class User{
private Integer id;
private String userName;
private int age;
}
public class StreamDemo {
public static void main(String[] args) {
User u1 = new User(11,"a",23);
User u2 = new User(12,"b",24);
User u3 = new User(13,"c",22);
User u4 = new User(14,"d",28);
User u5 = new User(16,"e",26);
List<User> list = Arrays.asList(u1,u2,u3,u4,u5);
list.stream()
.filter(u -> {return u.getId()%2==0;}) // 过滤偶数ID,Predicate<? super T> predicate断定型接口的lambda表达
.filter(u -> {return u.getAge()>24;}) // 过滤年龄>24,Predicate<? super T> predicate断定型接口的lambda表达
.map(f -> {return f.getUserName().toUpperCase();}) // 用户名变大写, Function<? super T, ? extends R> mapper 函数式接口的lambda表达
.sorted((o1,o2)->{ return o2.compareTo(o1);}) // 逆序, Comparator<? super T> comparator接口的lambda表达
.limit(1) // 限制数目:1
.forEach(System.out::println);
}
}
//输出
E