Java8过滤器(Filter)
1、在Java之前对List进行过滤的方式
public class BeforeJava8 { public static void main(String[] args) { List<Person> peoples = Arrays.asList(
new Person("java", 22),
new Person("js", 35),
new Person("css", 31)
); Person result = getStudentByName(peoples, "java");
System.out.println(result); } private static Person getStudentByName(List<Person> peoples, String name) {
Person result = null;
for (Person person : peoples) {
if (name.equals(person.getName())) {
result = person;
}
}
return result;
}
}
2、在Java8使用Filter过滤List
public class FilterJava8 { public static void main(String[] args) { List<Person> peoples = Arrays.asList(
new Person("java", 22),
new Person("js", 35),
new Person("css", 31)
); Person result1 = peoples.stream()
.filter(p -> "java".equals(p.getName()))
.findAny()
.orElse(null);
System.out.println(result1); Person result2 = peoples.stream()
.filter(p -> "spring".equals(p.getName()))
.findAny()
.orElse(null);
System.out.println(result2); Person result3 = peoples.stream()
.filter((p) -> "java".equals(p.getName()) && 22 == p.getAge())
.findAny()
.orElse(null);
System.out.println(result3); // 使用map收集
String name = peoples.stream()
.filter(p -> "js".equals(p.getName()))
.map(Person::getName)
.findAny()
.orElse("");
System.out.println(name);
System.out.println("---------"); List<String> names = peoples.stream()
.map(Person::getName)
.collect(Collectors.toList());
names.forEach(System.out::println);
}
}
Java8过滤器(Filter)的更多相关文章
- Angularjs在控制器(controller.js)的js代码中使用过滤器($filter)格式化日期/时间实例
Angularjs内置的过滤器(filter)为我们的数据信息格式化提供了比较强大的功能,比如:格式化时间,日期.格式化数字精度.语言本地化.格式化货币等等.但这些过滤器一般都是在VIEW中使用的,比 ...
- 网站过滤器Filter
实际上,Filter与Servlet及其相似,区别只是FIlter的doFilter()方法里多了一个FilterChain的参数,通过该参数可以控制是否放行用户的请求.网站有了过滤器十分的方便,可以 ...
- paip.输出内容替换在Apache 过滤器filter的设置
paip.输出内容替换在Apache 过滤器filter的设置 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...
- java Servlet中的过滤器Filter
web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...
- [ionic开源项目教程] - 第6讲 过滤器filter的使用
过滤器filter的使用 1.回顾 再熟悉一下tab1.html的代码: <div class="list"> <a ng-repeat="item i ...
- selvert的过滤器filter处理中文乱码
注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk.虽然两种都可以出来中文乱码,但是却造成了处 ...
- MVC之 自定义过滤器(Filter)
MVC之 自定义过滤器(Filter) 一.自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttri ...
- Servlet中的过滤器Filter用法
1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应. 主要用于对HttpServletRequest 进行预处理,也可以对Http ...
- Servlet中的过滤器Filter详解
加载执行顺序 context-param->listener->filter->servlet web.xml中元素执行的顺序listener->filter->stru ...
随机推荐
- duilib 新增数据迁移界面
xml界面配置: <?xml version="1.0" encoding="utf-8"?> <Window caption="0 ...
- python获取文件所在目录
1.执行的python程序获取自己文件所在目录 import os,sys os.chdir(sys.path[0]); dir_name = os.path.abspath(os.path.join ...
- checkPathValidity 检查所有agent的corridor的m_path是否有效
在checkPathValidity(检查所有agent的corridor的m_path是否有效) 如果是无效的要进行重新设置并且设置replan 首先获得第一个polygon,m_path[0] 这 ...
- PHP的运算符
1.算术运算符 2.赋值运算符 基本的赋值运算符是“=”. (1)引用赋值 PHP 支持引用赋值,使用“$var = &$othervar;”语法.引用赋值意味着两个变量指向了同一个数据,没有 ...
- sqlmap常用渗透方法
0X001 适用场景 1.获取了Mysql数据库root账号以及密码. 2.可以访问3306端口以及数据库. 0X002 扫描获取root账号的密码 通常有下面一些方法来获取root账号的密码 (1) ...
- js点击复制剪贴板
代码用原生写的.工作中用的angular,所以如果有用angular的话,请把js代码copyToClipboard函数中的document.getElementById(elementId).inn ...
- 找出sql脚本中需要创建的表空间名称和数据库用户名
测试的工作中,经常会遇到项目交接或者搭建一个新的测试环境,而创建oracle数据库用户及表空间时,需要提前找出脚本中的 数据库用户名和表空间名,所以自己写了一个python脚本,自动找出sql脚本中的 ...
- 声明式开发 & 命令式开发
何为声明式开发,何又为命令式开发~~~ 这里我不做太多概念的剖析,我们只要明确一个: 声明式开发只是告诉计算机需要什么,而不是把每一步都计划好:典型代表为React: 命令式开发则是每一步明确的去操作 ...
- lucene基础
同一个域中,即使相同的单词,如出现两次JAVA,也是不同的token,但他们对应相同的term,在term中记录这些token信息 数据库数据,与luence数据 需要搜寻(也即索引)的field,存 ...
- ThinkPhp3.2.3 使用phpExcel导入数据
public function uploadExcel(){ if (!empty($_FILES)){ $upload = new \Think\Upload(); // 实例化上传类 $uploa ...