JDK8 lameda表达式学习例子
lameda表达式是jdk8出的内容,作为一名老程序员,一直没接触。二次开发git上的一个开源项目,直接泪崩。于是赶紧补补课,直接上学习过程中的源码:
package xx.test.lameda; import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate; public class LamedaMain {
public static void main(String[] args) { List<String> list= Arrays.asList("danny","fancial","join","jack1"); // 创建过滤条件 Predicate可支持and、or、xor组合
Predicate<String> predicate = (n)->n.startsWith("j");
Predicate<String> predicate1 = (n)->n.length()==5; //过滤list中字母“j”开头的元素
System.out.println("====print start with j");
list.stream().filter(predicate).forEach(System.out::println); //过滤list中字节长度为5的元素
System.out.println("=====print length is 5");
list.stream().filter(predicate1).forEach(System.out::println); //过滤list中字母“j”开头并且长度为5的元素
System.out.println("=======print start with j and length is 5");
list.stream().filter(predicate.and(predicate1)).forEach(System.out::println); //过滤list中字母“j”开头或者长度为5的元素
System.out.println("=======print start with j or length is 5");
list.stream().filter(predicate.or(predicate1)).forEach(System.out::println); //利用stream和map修改doubleList中元素的内容
System.out.println("=======show may operation");
List<Double> doubleList = Arrays.asList(100.0,200.0,300.0,400.0);
doubleList.stream().map(n->n*0.2).forEach(System.out::println); //利用stream和reduce聚合输出
System.out.println("========show reduce operation");
System.out.println("sum is "+doubleList.stream().map(n->n*0.2).reduce((sum,n)->sum+n).get()); List<Integer> integerList = Arrays.asList(100,200,300,400);
System.out.println("max is "+integerList.stream().reduce(Integer::max).get());
System.out.println("min is "+integerList.stream().reduce(Integer::min).get()); System.out.println("sum is "+integerList.stream().reduce(Integer::sum).get());
}
}
JDK8 lameda表达式学习例子的更多相关文章
- lambda表达式学习例子
https://www.cnblogs.com/franson-2016/p/5593080.html https://www.cnblogs.com/fx-blog/p/11745205.html ...
- jdk8 Lambda表达式与匿名内部类比较
Labmda表达式与匿名内部类 前言 Java Labmda表达式的一个重要用法是简化某些匿名内部类(Anonymous Classes)的写法.实际上Lambda表达式并不仅仅是匿名内部类的语法糖, ...
- js switch表达式的例子
switch 这种表达式在很多语言中都有,比如java, C等待, 使用switch比使用if else 来得方便,来得清晰. 前言 switch 这种表达式在很多语言中都有,比如java, C等待 ...
- cron表达式学习
一.Cron 是计划任务(定时任务) 二.Cron表达式 Cron表达式是一个字符串,分为6或7个域,每个域用空格分开.Cron有如下两种语法格式: (1) Seconds Minutes Hours ...
- C# Lambda 表达式学习之(三):动态构建类似于 c => c.Age == null || c.Age > 18 的表达式
可能你还感兴趣: 1. C# Lambda 表达式学习之(一):得到一个类的字段(Field)或属性(Property)名,强类型得到 2. C# Lambda 表达式学习之(二):LambdaExp ...
- C# Lambda 表达式学习之(四):动态构建类似于 c => c.Age == 2 || c.Age == 5 || c => c.Age == 17 等等一个或多个 OrElse 的表达式
可能你还感兴趣: 1. C# Lambda 表达式学习之(一):得到一个类的字段(Field)或属性(Property)名,强类型得到 2. C# Lambda 表达式学习之(二):LambdaExp ...
- Lamda表达式学习笔记二
Lamda表达式学习笔记二 lamda表达式----方法引用 上一篇讲到Lamda体就是对函数式接口方法的实现 ,在方法体中我们可能会引用其他方法实现逻辑,所以在lamda体中我们可以直接引用器方法 ...
- Lamda表达式学习笔记一
Lamda表达式学习笔记一 一.Lamda语法诠释 三傻大闹宝莱坞的主人公兰彻说的一句话让我映像深刻:用简单的语言来表达同样的意 我并不是说书上的定义怎么怎么不对,而是应该理解书本上的定义,并用简单的 ...
- java 8 中lambda表达式学习
转自 http://blog.csdn.net/renfufei/article/details/24600507 http://www.jdon.com/idea/java/10-example-o ...
随机推荐
- day11.3分页操作divmod
# 分页显示 divmod(被除数,除数) INFO_LIST = [] for i in range(836): template = "第%s天,笨笨先僧 always be there ...
- ssm项目整合shiro
pom.xml <properties> <shiro.version>1.2.2</shiro.version> </properties> < ...
- linux安装mysql后root无法登录 sql 无法登录
linux安装mysql后root无法登录 问题:[root@localhost mysql]# mysql -u root -pEnter password: ERROR 1045 (28000): ...
- collection和association的区别于关系
比如同时有User.java和Card.java两个类 User.java如下: public class User{ private Card card_one; private List<C ...
- CentOS7查看和关闭防火墙
CentOS 7.0默认使用的是firewall作为防火墙 1.查看防火墙状态 firewall-cmd --state2.停止firewall systemctl stop firewalld.se ...
- orientdb docker-compose 运行
orientdb 很早就跑过,但是现在在跑,发现配置有些变动,原有studio 直接就可以访问的,新版本的居然还需要自己添加 server 的配置,所以为了方便使用docker-compose 运行, ...
- CWMP开源代码研究6——libcwmp动态库开发
原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 为了使程序具有通用性,便于扩展和维护.采用了"模块"插入的思想.将设备业务相 ...
- OPUS/SILK/SPEEX 音频编码比较
音频编码器质量表 https://blog.csdn.net/houqi1993/article/details/50504045
- 配置Tomcat使用https协议(配置SSL协议)
配置Tomcat使用https协议(配置SSL协议) 2014-01-20 16:38 58915人阅读 评论(3) 收藏 举报 转载地址:http://ln-ydc.iteye.com/blog/1 ...
- 如何一步一步新建一个Owin项目
打开VS2015,新建Web应用程序,命名为OwinWeb(名字随意). 在弹出的“新建ASP.NET项目”窗口中选择“Empty”模板,“为以下项添加文件夹和核心引用”处全不选.点击确定. 创建完后 ...