day14Lambda表达式,Steam流

lambda表达式:和增强for一样是替代的方法,简化代码

stream流:和迭代器差不多,

守护线程:主线程结束,子线程就结束了,

lambda表达式


优点:

1)设计的代码更加简洁,易懂

2)不会新建一个对象,也可以说是节省内存空间


概念:

和增强for一样是替代的方法,简化代码,很多语言很早就支持lambda,lambda是一个独立的语法

lambda打破了java面向对象的编程思想,是一个函数式编程--传递的参数是一个方法,不是一个对象

面向对象编程思想:定义类--创建对象--然后传递对象--然后调用方法

函数式编程思想:传递一个方法,直接就可以调用了

函数式接口的概念:有且只有一个抽象方法的接口:函数式接口,通常使用了一个注解来声明@Functionallnterface,表示此接口是一个函数式接口,

可以有其他抽象方法,但必须和Object类中的声明一致


使用前提:

1)面向一个接口,且这个接口只使用一次

2)这个接口中有,且只有一个抽象方法


标准格式:

1)一堆小括号:内可以放形参

2)一个右箭头:这是lambda的特有语法

3)一对大括号:内放方法体,返回值



lambda的省略格式:

1)lambda中的形参的数据类型,可以省略

2)如果lambda的形参只有一个:可以同时(必须同时)省略数据类型 ,一对小括号

3)如果lambda的方法体中只有一句话,可以同时省略:一对大括号,这句话后面的分号,如果有 return语句,可以省略return关键字


Stream流


Stream流的概念:

Java在用于对大量数据进行遍历,筛选,过滤,汇总等操作,她再结合Lambda,可以大大简化我们的代码


获取流的方式:

1)通过Collection类型集合的方式获取流:Collection接口中有一个默认方法,stream()可以获取一个Stream流对象

1)List集合:

List<String> list= new Arraylist<>();

...

Stream<String> stream=list.stream();

2)set集合:


2)通过Map集合获取流:

3)通过引用类型数组,获取流:

方法引用:system.out::println

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容