java基础6(浅谈流计算Stream)
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
/**
* 题目要求:一分钟内完成此题,只能用一行代码实现!
* 现在有六个用户,请筛选
* 1. id必须是偶数
* 2. 年龄必须大于23
* 3. 用户名字母转为大写
* 4. 用户名倒序输出
*/
public class TestStream {
public static void main(String[] args) {
User u1=new User("aa",21,1);
User u2=new User("bb",22,2);
User u3=new User("cc",23,3);
User u4=new User("ff",24,4);
User u5=new User("dd",25,5);
User u6=new User("ee",26,6);
//集合是用来存储数据的
List<User> list= Arrays.asList(u1,u2,u3,u4,u5,u6);
//计算交给stream流完成
//lambda表达式,链式编程,函数式接口,stream流式计算
list.stream().filter(user -> {return user.getId()%2==0;})
.filter(user -> {return user.getAge()>23;})
.map(user -> {return user.getName().toUpperCase(Locale.ROOT);})
.sorted((user1,user2)->{return user1.length()-user2.length();})
// .limit(1)
.forEach(System.out::println);
}
}
计算结果:
FF
EE
Process finished with exit code 0