1.什么是Stream流式计算
大数据:存储、计算
集合、MySQL本质就是存储东西的;
计算都应该交给流来操作!
Scals
java
package com.kuang.stream;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
/**
* 题目要求:一分钟内完成磁体,只能用一行代码实现!
* 现在有5个用户!筛选:
* 1、ID必须是偶数
* 2、年龄必须大于23岁
* 3、用户名转为大写字母
* 4、用户名字母倒着排序
* 5、只输出一个用户
*/
public class Test {
public static void main(String[] args) {
User user1 = new User(1, "a", 21);
User user2 = new User(2, "b", 22);
User user3 = new User(3, "c", 23);
User user4 = new User(4, "d", 24);
User user5 = new User(5, "e", 25);
User user6 = new User(6, "f", 26);
//集合就是存储
List<User> list = Arrays.asList(user1, user2, user3, user4, user5, user6);
//计算交给Stream流
//lambda表达式、链式编程、函数式接口、Stream流式计算
list.stream()
.filter(u->u.getId()%2==0)
.filter(u->{return u.getAge()>23;})
.map(u->{return u.getName().toUpperCase();})
.sorted((o1, o2) -> o2.compareTo(o1))
.limit(1)
.forEach(System.out::println);
}
}
java
package com.kuang.stream;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
//有参,无参构造,get,set,toString 方法!
@AllArgsConstructor
@NoArgsConstructor
@Data
public class User {
private int id;
private String name;
private int age;
}