jdk8使用lambda将map转换为新map-程序员宅基地

技术标签: lambda  java集合  jdk8  转换map为新map  


方式1 

 Map<String, Column> newColumnMap= new HashMap<>();
    originalColumnMap.entrySet().stream().forEach(x -> newColumnMap.put(x.getKey(), new Column(x.getValue())));

方式2

public class Defensive {

  public static void main(String[] args) {
    Map<String, Column> original = new HashMap<>();
    original.put("foo", new Column());
    original.put("bar", new Column());

    Map<String, Column> copy = original.entrySet()
        .stream()
        .collect(Collectors.toMap(Map.Entry::getKey,
                                  e -> new Column(e.getValue())));

    System.out.println(original);
    System.out.println(copy);
  }

  static class Column {
    public Column() {}
    public Column(Column c) {}
  }
}

 项目中实际使用案例

//目前得到的map是 Map<String, StaffModel>,需要的map是Map<String, StaffVO>
//需要处理map,将StaffModel转换为StaffVO
Map<String, StaffModel> map =  staffService.listStaffsByIds(idMap);
 if(map == null || map.isEmpty()) return null;
 
 return map.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey,
                e -> BeanCopierUtil.copy(e.getValue(),StaffVO::new,StaffVO.class)));

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chuixue24/article/details/106526980

智能推荐

python读取文件模式_5种python常用读写文件方法精讲-程序员宅基地

文章浏览阅读1.2k次。5种python常用读写文件方法精讲python读写文件需要先使用open函数获得文件对象,open函数中有一个 mode参数,默认为'r' ,在不同的应用场景下,要选择不同的模式,下表是mode参数的可选值列表访问模式说明r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a打开一个文件用于追加。如..._python 文件以读写方式

秀米如何在布局里面画图_毫无基础的人如何学习 CAD?-程序员宅基地

文章浏览阅读199次。卧C,收藏数是点赞的5倍。。。我不想写经历,不知道为什么只想粗暴的来点干货知识。AutoCAD上手入门很难吗?按照狗血剧情来说,我一定会回答一点都不难,只要你多用心多练习!废话不说了,按照顺序点击下面的卡片,花10分钟看完他们,再去打开CAD操作试试瞧!其实这些秘籍不只是能让你入门,更是一个学习CAD的方向,如果能吃通它们,那你就是大神了!《AutoCAD 控制大法》——学习要趁早,起步早些好 -..._秀米可以画图形吗

骨骼的动作识别数据集_基于Kinect骨骼数据的人体动作姿势识别方法-程序员宅基地

文章浏览阅读140次。A Posture Recognition Method Based on Kinect Skeleton DataLI Hongbo1李红波(1970-),男,高级工程师,研究方向:数字媒体技术,机器视觉,增强现实LI Shuangsheng1李双生(1989-),男,硕士研究生,研究方向:数字媒体技术,模式识别SUN Boyuan1孙舶源(1987-),男,硕士研究生,研究方向:数字媒体技术,..._骨骼动作识别方面的大能有哪些人

基于Java+SpringBoot+vue+element实现校园闲置物品交易网站_基于springboot+vue的校园购物网站-程序员宅基地

文章浏览阅读1w次,点赞74次,收藏214次。校园闲置物品交易网站的设计基于现有的网络平台,可以实现用户管理及数据信息管理,方便管理员对后台进行管理有详细的了解及统计分析,随时查看信息状态。主要功能设计: 1、开发实现校园闲置物品交易网站的整个系统程序;2、管理员;首页、个人中心、用户管理、商品类型管理、商品信息管理、系统管理、订单管理等。_基于springboot+vue的校园购物网站

mmcv 对比 cv2 处理视频速度_mmcv和opencv-程序员宅基地

文章浏览阅读990次。import osimport timesource = './11/2021-4-13-10-41-51.mp4'# 将视频转成图片序列后的分辨率new_width = 224new_height = 224import mmcvs = time.time()# 读取视频video = mmcv.VideoReader(source)if video is None : print('Warning: unable to open video source: ', sou._mmcv和opencv

python APScheduler 执行定时任务_apscheduler 每5s执行-程序员宅基地

文章浏览阅读7.3k次,点赞4次,收藏26次。入门任务:每隔5s打印一个1from apscheduler.schedulers.background import BackgroundScheduler, BlockingSchedulerscheduler = BlockingScheduler()def func(): print(1)job = scheduler.add_job(func, trigger..._apscheduler 每5s执行

随便推点

ajax nginx 转发 sessionid_百度、京东、网易、腾讯、淘宝等大厂都在用的Web服务器Nginx详解-程序员宅基地

文章浏览阅读371次。Nginx背景和概述Nginx(发音同 engine x)是一款基于异步框架的轻量级/高性能由C语言的Web 服务器/反向代理服务器/缓存服务器/电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev(伊戈尔·赛索耶夫)所开发,最初供俄国大型网站Rambler.ru及搜寻引擎Rambler使用。同Apache 一样都是一种WEB ..._淘宝和京东后台的应用服务器都是什么

Android技术积累:图片缓存管理-程序员宅基地

文章浏览阅读5k次。转载自Keegan小钢本文链接地址:http://keegan-lee.diandian.com/post/2012-12-06/40047548955 如果每次加载同一张图片都要从网络获取,那代价实在太大了。所以同一张图片只要从网络获取一次就够了,然后在本地缓存起来,之后加载同一张图片时就从缓存中加载就可以了。从内存缓存读取图片是最快的,但是因为内存容量有限,所以最好再加

2021-11-19 C语言readdir()函数,读取目录下的文件和目录函数,通过d_type DT_REG可以知道是目录还是常规文件。-程序员宅基地

文章浏览阅读6k次。一、C语言 readdir函数用来读取指定的目录流的目录项到一个dirent结构体指针中,并将读取指针设置为下一个目录项的位置。二、结构dirent体定义如下:struct dirent{ ino_t d_ino; //d_ino 此目录进入点的inode ff_t d_off; //d_off 目录文件开头至此目录进入点的位移 signed short int d_reclen; //d_reclen _name 的长度, 不包含NULL 字符 unsi.._dt_reg

字体样式_文字字体风格normal-程序员宅基地

文章浏览阅读1k次。1.字体样式设置字体样式大致有如下几种特征:字体类型(风格)、字体粗细、字体大小、字体系列(1)字体类型(风格) font-style用于设置字体风格,可设置以下值:① normal:普通字体② italic:斜体③ oblique:倾斜字体HTML代码如下:对应的CSS代码如下:运行效果:(2)字体粗细 font-weight用于设置字体粗细,可设置以下值:① norm..._文字字体风格normal

java h2 使用手册_Java开发的嵌入式数据库H2使用教程-程序员宅基地

文章浏览阅读707次。H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。H2最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。H2的第三个用处是作为缓存,作为NoSQL的一个补充。当某些场景下数据模型必须为关系型,可以拿它当Memcached使,作为后..._"java news"

MDK编译出现的问题。_adc1_2_irqn = 18, /*!< adc1 and adc2 global interr-程序员宅基地

文章浏览阅读2.6k次,点赞5次,收藏17次。1、出现 ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */编译错误问题。解决方法如下:打开“魔法棒”,选中C/C++选项,然后把define中的“STM32F10X_HD,USE_STDPERIPH_DRIVER”改为“STM32F10X_ MD,USE_STDPERIPH_DRIVER”。我的工程由于移植到新的开发板并且芯片的确不是属..._adc1_2_irqn = 18, /*!< adc1 and adc2 global interrupt */