lambda表达式的map和flatmap的区别
发表于|更新于
|浏览量:
map: 对于Stream中包含的元素使用给定的转换函数进行转换操作,新生成的Stream只包含转换生成的元素。这个方法有三个对于原始类型的变种方法,分别是:mapToInt,mapToLong和mapToDouble。这三个方法也比较好理解,比如mapToInt就是把原始Stream转换成一个新的Stream,这个新生成的Stream中的元素都是int类型。之所以会有这样三个变种方法,可以免除自动装箱/拆箱的额外消耗;
map方法示意图:
flatMap:和map类似,不同的是其每个元素转换得到的是Stream对象,会把子Stream中的元素压缩到父集合中;
flatMap方法示意图:
文章作者: 无知的小狼
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 无知的小狼!
相关推荐
2019-06-30
Objects类下面的deepEquals()方法
12345678public static boolean deepEquals(Object a, Object b) { if (a == b) return true; else if (a == null || b == null) return false; else return Arrays.deepEquals0(a, b); } 12345678910111213141516171819202122232425static boolean deepEquals0(Object e1, Object e2) { assert e1 != null; boolean eq; if (e1 instanceof Object[] && e2 instanceof Object[]) eq = deepEquals ((Object[]) e1, (...
2019-06-30
redis的安装和一些常用的配置
首先推荐一下redis的中文网站:http://www.redis.cn。 123456789101112131415161718192021222324252627282930313233343536373839--下载源码包$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz --解压$ tar -zxvf redis-4.0.6.tar.gz--到解压目录$ cd redis-4.0.6--编译$ make--到src目录将下面三个文件copy$ cd /usr/local/redis-4.0.6/src$ mkdir /usr/local/redis4/ $ cp redis-server /usr/local/redis4/ $ cp redis-benchmark /usr/local/redis4/ $ cp redis-cli /usr/local/redis4/--进入上一级目录将redis.conf也copy到redis4$ cd ..$ cp redis.conf /u...
2019-06-30
分享一个很有意思的异常
有这样一段代码: 12345678910111213try{ pageQueryResult = customerInfoImpl.getCustomList(customRequese,pageIndex,pageSize); if(pageQueryResult==null){ Exception.throwCommonException(CustomerInfoImpl.error); }}catch (Exception e){ e.printStackTrace();}``` 这里面 Exception.throwCommonException(CustomerInfoImpl.error);是自定义的弹框异常,捕捉到这个异常之后会有错误的弹框提醒,错误信息是CustomerInfoImpl.error但是实际的运行情况是执行完try之后,然后执行的是catch,然后抛出的异常就变成e.printStackTrace();显示的异常信息就变成了平台异常,没有捕捉到正确的...
2019-09-07
今天写一篇教程
废话不多说,首先登陆你的服务器,putty之类的 依次运行以下命令123wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.shchmod +x shadowsocks-all.sh./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log 出现找不到weget的提示的时候123wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.shchmod +x shadowsocks-all.sh./shadowsocks-all.sh 2>&1 | tee shadowsocks...
2019-06-30
Redis数据库的基本语法(1)
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。Redis 键(key)下表给出了与 Redis 键相关的基本命令: 序号 命令 描述 1 DEL key 该命令用于在 key 存在时删除 key。 2 DUMP key 序列化给定 key ,并返回被序列化的值。 3 EXISTS key 检查给定 key 是否存在。 4 EXPIRE key seconds 为给定 key 设置过期时间。 5 EXPIREAT key timestamp EXPIREAT ...
2019-06-30
枚举类 get Set方法 在lombok中的坑
lombok的类如下所示: 12345678910111213141516171819202122232425package com.divx.service.model.task;import com.divx.service.model.BaseTypeMedia;import lombok.Data;/** * @author wuzhilang * @Title: QuestionResult * @ProjectName yxt-parent * @Description: QuestionResult * @date 2019/6/2015:59 */@Datapublic class QuestionResult { private long questionId; private BaseTypeMedia.eQuestionType qType; private String userAnswer; private String standardAnswer; private long userId; private int instId; priva...
评论
