Stream流式计算,链式编程
什么是stream流式计算?
大数据包括(存储+计算)
集合,mysql这些是用来存储的,而计算是用stream流式的
题目案例:只用一行代码,完成计算这些操作
操作:
第一步:将我们的数据变为一个集合(Arrays.asList())存储
第二步:查看j.u.stram包下的这些流。流里面的方法的参数大都是函数式接口
第三步:使用stream流中的集合.stream()(这样就变为一个Stream对象了).filter()+forEach()输出为偶数的数据
参数为断定型接口
第四步:同理用filter()过滤年龄>23的
第五步:使用.map()获取名字让后用toUpperCase变为大写
第六步:倒着排序(.sort(两个参数(比较排序)))
正序排列:(uu1比uu2)
倒序排列了:(uu2比uu1)
最后一步(分页咯limit)
package org.example.stream;import java.util.Arrays;import java.util.List;public class TestStream {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(6,"e",25);//先变为集合存储List list= Arrays.asList(user1,user2,user3,user4,user5);//将集合变为stream对象,然后用流计算list.stream().filter(u->{return u.getId()%2==0;}).filter(u->{return u.getAge()>23;}).map(u->{return u.getName().toUpperCase(); }).sorted((uu1,uu2)->{return uu1.compareTo(uu2);}).limit(1).forEach(System.out::println);}}class User{public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}private int id;private String name;private int age;public User() {}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", age=" + age +'}';}public User(int id, String name, int age) {this.id = id;this.name = name;this.age = age;}}
上一篇:集成学习与随机森林
下一篇:NFT 泡沫是否已经被挤破