黑马程序员技术交流社区

标题: 【厦门校区JavaEE就业3期-每日总结】Stream流、方法引用 [打印本页]

作者: 厦门校区    时间: 2018-8-29 19:45
标题: 【厦门校区JavaEE就业3期-每日总结】Stream流、方法引用
1.Stream流相比较传统的代码写法,哪些地方做了优化?
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
3.什么情况下可以使用方法的引用优化lambda表达式?

作者: liebstch    时间: 2018-8-29 21:16
本帖最后由 liebstch 于 2018-8-29 23:14 编辑

陈建秋
1.Stream流相比较传统的代码写法,哪些地方做了优化?     (1).Stream流有自己的内部迭代方法方式for each。
     (2).Stream流拥有Pipelining的特点: 中间操作都会返回流对象本身, 如同流式风格(fluentstyle)可以进行链式编程。 以优化操作, 比如延迟 行(laziness)和短路( short-circuiting)。
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?延迟方法:filter,map,skip,limit,contact,sort,distinct
终结方法:cont,for each,collect
使用了终结方法后不会再返回自身对象,即终结链式调用,不能再调用Stream中的方法。
3.什么情况下可以使用方法的引用优化lambda表达式?
lambda表达式完全依赖于某个类中的某个方法。


作者: 黄艺纯    时间: 2018-8-29 21:17
本帖最后由 黄艺纯 于 2018-8-29 22:03 编辑

1.Stream流相比较传统的代码写法,哪些地方做了优化?
流性能的提升是通过并行化(parallelism)惰性(Laziness)短路操作(short-circuit operations)来实现的。

2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:filter、map、limit、skip、concat

终结方法:count、forEach


3.什么情况下可以使用方法的引用优化lambda表达式?
lambda完全使用某个类某个方法的实现。


作者: 舟sir    时间: 2018-8-30 08:30

1.Stream流相比较传统的代码写法,哪些地方做了优化?



简洁,对可上下文可推导的都可以做省略格式书写。

2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?

延迟方法:limit、skip、filter、map、sorted、distinct、concat
终结方法:count、forEach、collect
使用终结方法后:返回的不是Stream流对象,流本身不存储数据和地址,流等于是被操作了,就不能再次操作该流的动作了。

3.什么情况下可以使用方法的引用优化lambda表达式?

当方法值依附于某类的成员方法的时候,且没有二次的操作





作者: 舟sir    时间: 2018-8-30 08:30

1.Stream流相比较传统的代码写法,哪些地方做了优化?
简洁,对可上下文可推导的都可以做省略格式书写。
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:limit、skip、filter、map、sorted、distinct、concat
终结方法:count、forEach、collect
使用终结方法后:返回的不是Stream流对象,流本身不存储数据和地址,流等于是被操作了,就不能再次操作该流的动作了。
3.什么情况下可以使用方法的引用优化lambda表达式?
当方法值依附于某类的成员方法的时候,且没有二次的操作

周家乾


作者: ZNBran    时间: 2018-8-30 08:46
1.stream可以使用lambda表达式的省略格式书写简化了代码。
2.延迟方法有filter(),map(),limit(),skip(),sorted(),distinct(),concat()。终结方法有count(),forEach(),collect()。终结方法使用后会执行前面的代码进行流对象的操作,
结束操作后流对象不可被再次操作。
3.当方法值依附于某类的成员方法的时候,且没有二次的操作。
=========================================周楠
作者: 林嘉志    时间: 2018-8-30 08:53
1.Stream流相比较传统的代码写法,哪些地方做了优化?
        惰性执行
       简化代码,可能节约资源
       可根据上下文推导,把重点放在结果上
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
       返回对象本身的就是延迟方法,返回其他的就是终结方法
       使用了终结方法,就会开始执行前面的代码,而且执行后的流不不能重复使用
3.什么情况下可以使用方法的引用优化lambda表达式?
      方法中使用的时以创建的对象和已经有的方法
     并且结果全依赖这个方法




作者: yangshixian    时间: 2018-8-30 10:43
1.Stream流相比较传统的代码写法,哪些地方做了优化?一、程序更加优雅
二、可能会节省资源
三、具有并行能力
四、流数据可以是无限的

2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
常见的延迟方法有filter、map、limit、skip、concat、sorted、distinct等
终结方法有forEach、count、collect

3.什么情况下可以使用方法的引用优化lambda表达式?
如果Lambda要表达的函数方案已经存在某个方法的实现中,可以通过方法的引用作为Lambda的替代者


杨式贤


作者: 林靖    时间: 2018-8-30 19:43
1.Stream流相比较传统的代码写法,哪些地方做了优化?
优雅、流数据可以是无限的、简化代码、惰性执行、可能节约资源
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:limit、skip、filter、map、sorted、distinct、concat
终结方法:count、forEach、collect
终结方法使用后会执行前面的代码进行流对象的操作,使用了终结方法后返回的不是流本身,结束操作后流对象不可被再次操作。
3.什么情况下可以使用方法的引用优化lambda表达式?
完全依赖于某类的方法时如System.out.println(); -> System.out::println
作者: Michcale    时间: 2018-8-30 19:50
=============吴齐宾================
1.Stream流相比较传统的代码写法,哪些地方做了优化?
1.在方法的执行中,会有延迟性.可能会节约一些资源!流数据是无限的.并且具有并行能力
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:filter、map、limit、skip、concat终结方法:count、forEach.使用终结方法之后流不再支持链式调用
3.什么情况下可以使用方法的引用优化lambda表达式?
当代码中完全依赖于某个方法的某个代码块的时候可以使用.
作者: 李伟javaee03    时间: 2018-8-30 19:58
1.        Stream流相比较传统的代码写法,哪些地方做了优化?
Stream提供了内部迭代的方式,流可以直接调用遍历方法,且中间操作都会返回流对象本身,这样多个操作可以串联成一个管道,如同流式风格,这样做可以对操作进行优化, 比如延迟执行(laziness)和短路( short-circuiting)
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:filter、map、limit、skip、concat
终结方法:count、forEach
使用终结方法之后返回值类型不再是Stream 接口自身类型的方法,不能在执行操作。
3.什么情况下可以使用方法的引用优化lambda表达式?
该lambda表达式完全依赖于某个类的某个方法

作者: 赵烈刚    时间: 2018-8-30 20:18
1.Stream流相比较传统的代码写法,哪些地方做了优化?
1).将操作的重点放到了结果上2.)可能会节约资源3.)流数据可以是无限的4.)具有并行能力。
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
已知的终结方法包括 count 和 forEach 方法,除了终结方法以外,其余方法均为延迟方法;使用终极方法之后返回值类型不再是Stream接口自身类型的方法。
3.什么情况下可以使用方法的引用优化lambda表达式?
根据上下文可进行推导,无需指定参数类型也无需制定的重载形式。
作者: sulaymanfan    时间: 2018-8-30 21:04
1.Stream流相比较传统的代码写法,哪些地方做了优化?
流性能的提升是通过并行化(parallelism)、惰性(Laziness)和短路操作(short-circuit operations)来实现的。

2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:filter、map、limit、skip、concat
终结方法:count、forEach


3.什么情况下可以使用方法的引用优化lambda表达式?
lambda完全使用某个类某个方法的实现。
作者: 黄晨伟    时间: 2018-8-30 21:08
1.简化代码
2.延迟方法:filter、map、limit、skip、concat 终结方法:count、forEach
3.lambda表达式完全依赖于某个类中的某个方法。
作者: 郭生发    时间: 2018-8-30 21:12
1.Stream流相比较传统的代码写法,哪些地方做了优化?

     有内部迭代,中间操作返回的是本身,可以进行链式编程
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?

     终结方法:foreach   count  collect
    延迟方法:filter   map  limit  skip concat   sorted   distinct
  使用了终结方法后流转变成另一种数据类型
3.什么情况下可以使用方法的引用优化lambda表达式?

lambda表达式完全依赖某个类中的某个方法

作者: 练志成    时间: 2018-8-30 21:16

1.Stream流相比较传统的代码写法,哪些地方做了优化?
格式更加简洁
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法,filter--sorted--map--distinct--limit--conca--t等等......
最终方法,foreach--count--collect--等等.......
此流是链式编程,使用最终方法后方法链将断开
3.什么情况下可以使用方法的引用优化lambda表达式?
lambda表达式中只有一种方法,并且可以通过推导得出答案的时候
作者: 练志成    时间: 2018-8-30 21:17

1.Stream流相比较传统的代码写法,哪些地方做了优化?
格式更加简洁
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法,filter--sorted--map--distinct--limit--conca--t等等......
最终方法,foreach--count--collect--等等.......
此流是链式编程,使用最终方法后方法链将断开
3.什么情况下可以使用方法的引用优化lambda表达式?
lambda表达式中只有一种方法,并且可以通过推导得出答案的时候
作者: 陈锦祥    时间: 2018-8-30 21:17
1.Stream流相比较传统的代码写法,哪些地方做了优化?Stream流有自己的内部迭代方法方式for each。  通过惰性执行 中断特性 延迟执行 来进行优化
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
终结方法:forEach, count,collect
延迟执行方法:filter,map,skip,limit,contact,sort,distinct
终结方法 返回值不是Stream  所以终结方法之后不能再继续对流中的数据进行操作;
3.什么情况下可以使用方法的引用优化lambda表达式?

lambda表达式 完全依赖于一个对象的一个方法体 完成的 可以使用方法引用
前提是 对象已经存在  方法 也已经存在



作者: 吴鑫佳    时间: 2018-8-30 21:20
1.Stream流相比较传统的代码写法,哪些地方做了优化?
可以进行链式操作,可以延迟执行和短路执行,可能会节省资源
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法有:skip,limit,concat,sort,distinct终结方法有:count,foreach,collect
使用了终结方法,返回的不是流对象,就不能再继续执行其他方法,这个流的链式操作也就会停止。
3.什么情况下可以使用方法的引用优化lambda表达式?
       表达式中的方法完全依赖于类中的某一个方法。
作者: 陈张辉    时间: 2018-8-30 21:28
1.Stream流相比较传统的代码写法,哪些地方做了优化?
       注重实现的代码,而不在实现的步骤。  可以是无限流      可能节约资源     Stream流可以并行
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
       延迟方法:1,filter  过滤  pridicate<T>,2,map,映射,Function<T,R>   3,limit(long l)返回前l个元素流   4,skip(long l)返回l之后的流
                        5,sorted()/sort(Comparator接口)流元素排序     6,distinct() 去重复,要重写hashcode和equals

      终结方法:1,forEach(Consumer<T>)对流中元素逐个消费,   2,count()统计流中的个数   3,collect(Collector.toList/toMap/toSet) 流元素封装到集合
   
3.什么情况下可以使用方法的引用优化lambda表达式?
                只有一个方法直接对数据进行操作,对象引用,类引用静态方法

作者: 陈张辉    时间: 2018-8-30 21:28
陈张辉 发表于 2018-8-30 21:28
1.Stream流相比较传统的代码写法,哪些地方做了优化?
       注重实现的代码,而不在实现的步 ...


作者: zouyitao    时间: 2018-8-30 21:29
邹毅涛
1.Stream流相比较传统的代码写法,哪些地方做了优化?
简化代码,能够链式编程,延迟执行,可能节省资源,并不会提高效率。
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法有:filter,map,skip,limit,contact,sort,distinct
终结方法:count,foreach,collect
3.什么情况下可以使用方法的引用优化lambda表达式?
Lambda完全依赖于某个类中的某个方法。
作者: 郑颖锋    时间: 2018-8-30 21:40
1.Stream流相比较传统的代码写法,哪些地方做了优化?
(1).Stream流有自己的内部迭代方法方式for each。
(2).Stream流拥有Pipelining的特点: 中间操作都会返回流对象本身, 如同流式风格(fluentstyle)可以进行链式编程。 以优化操作, 比如延迟 行(laziness)和短路( short-circuiting)。
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:filter、map、limit、skip、concat
终结方法:count、forEach
使用终极方法之后返回值类型不再是Stream接口自身类型的方法,不支持链式调用。
3.什么情况下可以使用方法的引用优化lambda表达式?
lambda表达式 完全依赖于一个对象的一个方法体 完成的 可以使用方法引用
前提是 对象已经存在  方法 也已经存在

作者: 罗荣贵    时间: 2018-8-30 21:55
1.更注重程序运行的结果,简化了程序书写的过程
2.延迟方法有filter,concat,skip,limit,map ,sorted,distinct ,终结方法:count,forEach,collect
3.当使用lambda表达式重写方法时,方法体要完成的所有代码都可以在已经存在的类中存在已经有完成此功能方法时,可以用引用来代替lambda表达式




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2