Skip to content
DAILY QUOTE

“ ”

什么是Stream流式计算

Stream(流)是一个来自数据源的元素队列并支持聚合操作

大数据时代:存储 + 计算

集合、MySQL 本质就是存储东西的;

计算都应该交给流来操作!

代码:

java
package com.mystpet.StreamTest;  
  
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 u1=new User(1,"a",21);  
        User u2=new User(2,"b",22);  
        User u3=new User(3,"c",23);  
        User u4=new User(4,"d",24);  
        User u5=new User(5,"e",25);  
          
        // 集合就是存储  
        List<User> list= Arrays.asList(u1,u2,u3,u4);  
  
        // 计算交给stream流  
        list.stream()  
                .filter(u -> u.getId() % 2 == 0)  
                .filter(u -> u.getAge() > 23)  
                .peek(u -> u.setName(u.getName().toUpperCase()))  
                .sorted((a, b) -> b.getName().compareTo(a.getName()))  
                .limit(1)  
                .forEach(System.out::println);  
  
        list.stream()  
                .filter(u -> u.getId() % 2 == 0)  
                .filter(u -> u.getAge() > 23)  
                .peek(u -> u.setName(u.getName().toUpperCase()))  
                .sorted(Comparator.comparing(User::getName).reversed())  
                .limit(1)  
                .forEach(System.out::println);  
    }  
  
    }  
}