sql 优化
来源:互联网 发布:谈谈对网络借贷的认识 编辑:程序博客网 时间:2024/06/06 12:51
java8中最受人期待的就是lambda,引入了map和reduce。map和reduce可以构成几乎所有的函数式操作。
map
final List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
final List<Integer> doubleNumbers = numbers.stream()
.map(number -> number * 2)
.collect(Collectors.toList());
结果:[2, 4, 6, 8]
也可以搞成其他的类型,初始List是Integer,也可以变成String
final List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
final List<String> numberIndex = numbers.stream()
.map(number -> "#" + number)
.collect(Collectors.toList());
结果:[#1, #2, #3, #4]
reduce
1.不提供初始值的reduce,返回值是Optional,表示可能为空,使用orElseGet可以返回一个null时的默认值
final List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
final Optional<Integer> sum = numbers.stream()
.reduce((a, b) -> a + b);
sum.orElseGet(() -> 0);
结果:10
这里的(a, b) -> a + b的类型其实是BinaryOperator,它接受两个类型相同的参数
当把numbers改为Arrays.asList()时,结果为0。
2.使用初始值的reduce,因为提供了初始值,所以返回值不再是Optional
final List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
final Integer sum = numbers.stream()
.reduce(0, (a, b) -> a + b);
结果:10
3.另一种reduce
上面两种类型的reduce都是争对同类型的操作的,对于类型是T的stream
<U> U reduce(U identity,
BiFunction<U, ? super T, U> accumulator,
BinaryOperator<U> combiner);
- SQL优化
- SQL优化
- SQL优化
- SQL优化
- SQL优化
- sql优化
- sql优化
- Sql优化
- sql优化
- sql优化
- SQL 优化
- sql优化
- SQL优化
- SQL优化
- SQL优化
- SQL优化
- SQL优化
- SQL优化
- 流、文件拷贝、序列化、随机数、DecimalForamt、Calendar、SimpleDateFormat
- jvm系列(二):JVM内存结构
- Java并发_volatile实现可见性但不保证原子性
- 多线程概念
- Go安装各种第三方库,包命令
- sql 优化
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 暑期集训之稳定排序
- 前m大的数
- 设计模式——抽象工厂模式
- 数组Array的方法
- node中的global、exports和module.exports
- Javascript偏函数与柯里化
- 爬虫之旅(二)