java8中的stream().filter()的使用和Optional()
转:
https://www.cnblogs.com/yimiyan/p/5992440.html
Optional:
https://www.cnblogs.com/zhangboyu/p/7580262.html
@RequestHeader的使用
//@RequestHeader:获取浏览器头信息:限制请求头中必须有User-Agent //
User-Agent:封装了浏览器的信息 //helloMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 @RequestMapping("show22") public String show22(@RequestHeader("User-Agent")String browser){ System.out.println("hello"+browser); return "/index.jsp"; }
在List<A>中,查找userName为hanmeimei的对象A。
在java8中,我们可以这么玩
1,查找集合中的第一个对象。
Optional<A> firstA= AList.stream() .filter(a -> "hanmeimei".equals(a.getUserName())) .findFirst();
if (firstA.isPresent()) {
A a = firstA.get(); //这样子就取到了这个对象呢。
}
else {
//没有查到的逻辑
}
2,如果想返回集合呢。可是使用这个
List<A> firstA= AList.stream() .filter(a -> "hanmeimei".equals(a.getUserName())) .collect(Collectors.toList());
3,抽取对象中所有的id的集合
|
1
|
List<Long> idList = AList.stream.map(A::getId).collect(Collectors.toList()); |
java8中的stream().filter()的使用和Optional()的更多相关文章
- 【Java8新特性】面试官:谈谈Java8中的Stream API有哪些终止操作?
写在前面 如果你出去面试,面试官问了你关于Java8 Stream API的一些问题,比如:Java8中创建Stream流有哪几种方式?(可以参见:<[Java8新特性]面试官问我:Java8中 ...
- Java8中的Stream流式操作 - 入门篇
作者:汤圆 个人博客:javalover.cc 前言 之前总是朋友朋友的叫,感觉有套近乎的嫌疑,所以后面还是给大家改个称呼吧 因为大家是来看东西的,所以暂且叫做官人吧(灵感来自于民间流传的四大名著之一 ...
- 【Java8新特性】面试官问我:Java8中创建Stream流有哪几种方式?
写在前面 先说点题外话:不少读者工作几年后,仍然在使用Java7之前版本的方法,对于Java8版本的新特性,甚至是Java7的新特性几乎没有接触过.真心想对这些读者说:你真的需要了解下Java8甚至以 ...
- Java8中的Stream API
本篇文章继续介绍Java 8的另一个新特性——Stream API.新增的Stream API与InputStream和OutputStream是完全不同的概念,Stream API是对Java中集合 ...
- java8中的Stream
Collection.stream() / parallelStream() 1. Stream 1)Filter stringCollection .stream().filter((s) - ...
- java8中的stream流遍历
比较for循环.迭代器.java8Stream流遍历的不同 package cnom.test.testUtils; import java.io.Serializable; import java. ...
- Java8 中使用Stream 让List 转 Map使用总结
在使用 Java 的新特性 Collectors.toMap() 将 List 转换为 Map 时存在一些不容易发现的问题,这里总结一下备查. 空指针风险 java.lang.NullPointerE ...
- 这可能是史上最好的 Java8 新特性 Stream 流教程
本文翻译自 https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/ 作者: @Winterbe 欢迎关注个人微信公众 ...
- JDK1.8中的Stream详解
Stream简介 Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 XML ...
随机推荐
- 基于 CentOS 搭建 FTP 文件服务
https://www.linuxidc.com/Linux/2017-11/148518.htm
- vs2013——单元测试&& 性能图
一.如何创建单元测试 下面这个博客中写的很详细: http://***/Article/11186 其中需要注意的是,首先新建工程项目,在此目录下Add单元测试项目,还需要在单元测试项目中引用被测试的 ...
- #个人博客作业week2——关于代码规范的个人观点
对于这一讨论的前提我们首先要知道什么是代码规范. 在这个问题上我同意一篇参考文章的观点——代码规范不仅只编码风格.编码风格仅是代码规范的一个方面,除了编码风格,代码规范还包括函数返回值等其他方面.在我 ...
- 软件工程个人项目作业 Individual Project
利用Junit4进行程序模块的测试,回归测试 源码 https://github.com/dpch16303/test/blob/master/%E5%9B%9E%E5%BD%92%E6%B5%8B% ...
- 【转】使用screw plus对PHP源码加密
运行环境 ubuntu 14.04 php 5.6 源码地址 https://github.com/del-xiong/screw-plus http://git.oschina.net/splot/ ...
- 解决Ubuntu中vi命令的编辑模式下不能正常使用方向键和退格键的问题
在Ubuntu中,进入vi命令的编辑模式,发现按方向键不能移动光标,而是会输出ABCD,以及退格键也不能正常删除字符.这是由于Ubuntu预装的是vim-tiny,而我们需要使用vim-full,解决 ...
- flask 即插视图(Pluggable Views)和endpoint
endpoint经常使用flask的人肯定不会面生.其实我一直没有关注过他是怎么寻址的,直到最近经常食用url_for这个函数才引起了我的注意. url_for看源码感觉实现挺复杂的,我们姑且不在这里 ...
- datetime的小坑
在做悦运动这个项目时,在创建约运动关系表时,运动开始时间,注意(导入datetime包时,我导入的是class datetime(__datetime.date)这个类,可以调用这个类中的方法,调用当 ...
- sql优化问题笔记(mysql)
相信大家平时面试都会遇到这个问题:平时你都是怎么对sql进行调优的? 此篇文章相当于一个随便笔记,根据朋友们的聊天记录整理而成,如有不对,请指正! 注意:这篇是以mysql整理的 查看sql计划分析 ...
- 修改VCL源码实现自定义输入对话框
来自:https://yq.aliyun.com/wenji/88428 通过修改VCL源码实现自定义输入对话框 在BCB中有两个函数可以实现输入对话框:InputBox和InputQuery,其实I ...