JAVA8 Lambda(1)

本文介绍 Java 8 中新增的 Lambda 表达式功能,包括其语法结构和使用方法。通过实例展示了如何利用 Lambda 表达式简化集合操作及数据处理流程。

一.简介


在java8中新加入的功能,并且引入了2个对集合数据进行批量操作的包: java.util.function 包以及 java.util.stream 包。后面我会研究怎么去用,与大家分享,并一起学习。有人说是抄袭.net的,在我看来其实取其精华,去其糟粕。为什么使用lambda表达式?因为编译器推断并帮你转换包装为常规的代码,他可以让你代码更加的简洁。但是让维护人员可能会更加头疼,可能你写完之后维护会在背后问候你全家。

二.Lambda表达式的语法

ambda表达式的语法可以是: 
1.参数列表、箭头符号->和函数体组成。 (parameters) -> expression 
2.参数列表、箭头符号->和语句块组成。(parameters) ->{ statements; } 
给大家举个例子: 
1.(int i, int j) -> i+j 这是第一种由 参数列表、箭头符号->和函数体组成。返回的是i+j的合。如果不需要参数,直接写个()就可以。 
2.(int i) ->{System.out.printIn(i)} 这是由参数列表、箭头符号->和语句块组成。 语句块里面内容就像是写方法一样就可以,语句块用{}括起来。 
虽然java是强类型语言,lambda表达式官网说是自己能推断出类型的,也就是说我们不需要显示的指定其类型,再举个例子: 
List list = new ArrayList();循环这个list可以这么写: 
1.for(int i = 0; i < list.size() ;i++){} 
2.for(String str : list){} 
3.list.forEach(obj->{System.out.printIn(i)}) 未指定类型 
4.list.stream().filter(str -> 处理) 未指定类型 
你觉得哪种方法写起来更方便?不过java8里面的foreach这个循环效率经过测试是要比for的效率低,也可能是因为数据太少的原因。要想追求效率可能用for会更快。 
未完待写……


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值