Java SE 学习笔记(Lambda表达式与Stream API)

1、 Lambda 表达式

Java SE 学习笔记(Lambda表达式与Stream API)_第1张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第2张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第3张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第4张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第5张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第6张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第7张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第8张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第9张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第10张图片

2、 函数式(Functional)接口

Java SE 学习笔记(Lambda表达式与Stream API)_第11张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第12张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第13张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第14张图片

3、 方法引用与构造器引用

Java SE 学习笔记(Lambda表达式与Stream API)_第15张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第16张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第17张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第18张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第19张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第20张图片

4、 Stream API

Java SE 学习笔记(Lambda表达式与Stream API)_第21张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第22张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第23张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第24张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第25张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第26张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第27张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第28张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第29张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第30张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第31张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第32张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第33张图片

方法

返回类型

作用

toList

List

把流中元素收集到List

List emps= list.stream().collect(Collectors.toList());

toSet

Set

把流中元素收集到Set

Set<Employee> emps= list.stream().collect(Collectors.toSet());

toCollection

Collection

把流中元素收集到创建的集合

Collection<Employee> emps =list.stream().collect(Collectors.toCollection(ArrayList::new));

counting

Long

计算流中元素的个数

long count = list.stream().collect(Collectors.counting());

summingInt

Integer

对流中元素的整数属性求和

int total=list.stream().collect(Collectors.summingInt(Employee::getSalary));

averagingInt

Double

计算流中元素Integer属性的平均值

double avg = list.stream().collect(Collectors.averagingInt(Employee::getSalary));

summarizingInt

IntSummaryStatistics

收集流中Integer属性的统计值。如:平均值

int SummaryStatisticsiss= list.stream().collect(Collectors.summarizingInt(Employee::getSalary));

joining

String

连接流中每个字符串

String str= list.stream().map(Employee::getName).collect(Collectors.joining());

maxBy

Optional

根据比较器选择最大值

Optional<Emp>max= list.stream().collect(Collectors.maxBy(comparingInt(Employee::getSalary)));

minBy

Optional

根据比较器选择最小值

Optional min = list.stream().collect(Collectors.minBy(comparingInt(Employee::getSalary)));

reducing

归约产生的类型

从一个作为累加器的初始值开始,利用BinaryOperator与流中元素逐个结合,从而归约成单个值

int total=list.stream().collect(Collectors.reducing(0, Employee::getSalar, Integer::sum));

collectingAndThen

转换函数返回的类型

包裹另一个收集器,对其结果转换函数

int how= list.stream().collect(Collectors.collectingAndThen(Collectors.toList(), List::size));

groupingBy

Map>

根据某属性值对流分组,属性为K,结果为V

Map> map= list.stream()

  .collect(Collectors.groupingBy(Employee::getStatus));

partitioningBy

Map>

根据truefalse进行分区

Map<Boolean,List<Emp>> vd = list.stream().collect(Collectors.partitioningBy(Employee::getManage));

Java SE 学习笔记(Lambda表达式与Stream API)_第34张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第35张图片

Java SE 学习笔记(Lambda表达式与Stream API)_第36张图片

你可能感兴趣的:(Java SE 学习笔记(Lambda表达式与Stream API))