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 ...
随机推荐
- Windows与Linux的命令行命令对比
Windows与Linux的命令行命令对比 * Windows不区分大小写,Linux区分大小写的. sn DOS Command UNIX Equivalent Effect 影响 1 ASSIGN ...
- Linux 系统的用户和组
目录 1. 用户及组相关文件 2. 用户相关查询 2.1 直接通过cat文件查看用户及组文件内容 2.2 使用下面查询命令查看 3. 使用操作命令修改用户及组相关文件 3.1 专有编辑命令(仅限高级用 ...
- Beff的学习
Beff介绍 BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具. 首先打开kali,直接点击beef图标打开beef 浏览器会默认弹出 ...
- 寒假作业pta1
本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两行符 ...
- Buaa菜鸡从今天好好学打码,好好学数学,好好学英语,好好打篮球,好好锻炼,好好吃饭,好好... 好好找女朋友!
新链接: https://iamparasite.github.io/
- 在树莓派上的wireshark报错
QT: XKEYBOARD extension not present on the X server 我在树莓派2b下的vnc远程连接到kali-all(所谓的kali-all就是在kali官方提供 ...
- node环境下express路由,
1.基本路由概念 路由是指确定应用程序如何响应对特定端点的客户端请求,该请求是URI(或路径)和特定HTTP请求方法(GET,POST等). 每个路由都可以有一个或多个处理函数,这些函数在路由匹配时执 ...
- ShellSort
#include <bits/stdc++.h> using namespace std; #define MAXSIZE 200000 typedef int KeyType; type ...
- SQL Server Service Broker 示例(转)
1.定义数据类型.协议和服务(发送服务和接收服务) USE master; GO ALTER DATABASE 目标数据库 SET ENABLE_BROKER; GO -- 如果上面的操作执行后,长时 ...
- xamarin android 文件选择
调出选择界面: Intent intent = new Intent(Intent.ActionGetContent); intent.AddCategory(Intent.CategoryOpena ...