A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.Stream流相比较传统的代码写法,哪些地方做了优化?
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
3.什么情况下可以使用方法的引用优化lambda表达式?

23 个回复

倒序浏览
本帖最后由 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 22:03 编辑

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

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

终结方法:count、forEach


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

回复 使用道具 举报

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



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

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

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

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

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




回复 使用道具 举报

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

周家乾

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



回复 使用道具 举报
1.Stream流相比较传统的代码写法,哪些地方做了优化?一、程序更加优雅
二、可能会节省资源
三、具有并行能力
四、流数据可以是无限的

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

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


杨式贤

回复 使用道具 举报
1.Stream流相比较传统的代码写法,哪些地方做了优化?
优雅、流数据可以是无限的、简化代码、惰性执行、可能节约资源
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:limit、skip、filter、map、sorted、distinct、concat
终结方法:count、forEach、collect
终结方法使用后会执行前面的代码进行流对象的操作,使用了终结方法后返回的不是流本身,结束操作后流对象不可被再次操作。
3.什么情况下可以使用方法的引用优化lambda表达式?
完全依赖于某类的方法时如System.out.println(); -> System.out::println
回复 使用道具 举报
=============吴齐宾================
1.Stream流相比较传统的代码写法,哪些地方做了优化?
1.在方法的执行中,会有延迟性.可能会节约一些资源!流数据是无限的.并且具有并行能力
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:filter、map、limit、skip、concat终结方法:count、forEach.使用终结方法之后流不再支持链式调用
3.什么情况下可以使用方法的引用优化lambda表达式?
当代码中完全依赖于某个方法的某个代码块的时候可以使用.
回复 使用道具 举报
1.        Stream流相比较传统的代码写法,哪些地方做了优化?
Stream提供了内部迭代的方式,流可以直接调用遍历方法,且中间操作都会返回流对象本身,这样多个操作可以串联成一个管道,如同流式风格,这样做可以对操作进行优化, 比如延迟执行(laziness)和短路( short-circuiting)
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法:filter、map、limit、skip、concat
终结方法:count、forEach
使用终结方法之后返回值类型不再是Stream 接口自身类型的方法,不能在执行操作。
3.什么情况下可以使用方法的引用优化lambda表达式?
该lambda表达式完全依赖于某个类的某个方法
回复 使用道具 举报
1.Stream流相比较传统的代码写法,哪些地方做了优化?
1).将操作的重点放到了结果上2.)可能会节约资源3.)流数据可以是无限的4.)具有并行能力。
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
已知的终结方法包括 count 和 forEach 方法,除了终结方法以外,其余方法均为延迟方法;使用终极方法之后返回值类型不再是Stream接口自身类型的方法。
3.什么情况下可以使用方法的引用优化lambda表达式?
根据上下文可进行推导,无需指定参数类型也无需制定的重载形式。
回复 使用道具 举报
1.Stream流相比较传统的代码写法,哪些地方做了优化?
流性能的提升是通过并行化(parallelism)、惰性(Laziness)和短路操作(short-circuit operations)来实现的。

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


3.什么情况下可以使用方法的引用优化lambda表达式?
lambda完全使用某个类某个方法的实现。
回复 使用道具 举报
1.简化代码
2.延迟方法:filter、map、limit、skip、concat 终结方法:count、forEach
3.lambda表达式完全依赖于某个类中的某个方法。
回复 使用道具 举报
1.Stream流相比较传统的代码写法,哪些地方做了优化?

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

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

lambda表达式完全依赖某个类中的某个方法
回复 使用道具 举报

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

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

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


回复 使用道具 举报
1.Stream流相比较传统的代码写法,哪些地方做了优化?
可以进行链式操作,可以延迟执行和短路执行,可能会节省资源
2.Stream流中延迟方法有哪些,终结方法有哪些,使用了终结方法之后会怎样?
延迟方法有:skip,limit,concat,sort,distinct终结方法有:count,foreach,collect
使用了终结方法,返回的不是流对象,就不能再继续执行其他方法,这个流的链式操作也就会停止。
3.什么情况下可以使用方法的引用优化lambda表达式?
       表达式中的方法完全依赖于类中的某一个方法。
回复 使用道具 举报
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表达式?
                只有一个方法直接对数据进行操作,对象引用,类引用静态方法
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马