欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Java-四大函数式接口和流计算

时间:2023-06-12

数据流的操作 ----链式编程+流式计算

一、作用

可以代替SQL删选对应条件的数据。代替重复查询单个表。因为代码计算是内存级别的

流(Stream) 到底是什么呢?

是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。

“集合讲的是数据,流讲的是计算!”

二、四大函数接口

1、Consumer 消费型接口 有输入参数,无返回值

2、Supplier     供给型接口   无输入参数,有返回值

3、Function    函数型接口  有输入,有返回值

4、Predicate  断定型接口  有输入参数 ,返回Boolean值

四、代码

package com.cb.demo.example;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.function.Consumer;import java.util.function.Function;import java.util.function.Predicate;import java.util.function.Supplier;import java.util.stream.Collectors;@Data@NoArgsConstructor@AllArgsConstructorclass User{ private int id; private String userName; private Integer 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 list= Arrays.asList(u1,u2,u3,u4,u5); //select userName from student where id = and age>24 and list.stream().filter(t->{ return t.getId()%2==0; }).filter(t->{ return t.getAge()>24; }).map(t->{ return t.getUserName().toUpperCase(); }).sorted((o1,o2)->{ return o2.compareTo(o1); }).limit(1).forEach(System.out::println); }}interface MyInterface{ public int myInt(int x); public String myString(String str); public boolean isOk(String str);}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。