文章目录

  • 一、准备工作
  • 二、操作实例

有时候在对List集合操作时并不想新建一个实体类来进行转换。这就涉及到将集合中对象的每个元素投影到新属性,以此来生成一个新的集合。

一、准备工作

定义实体类UserEntity

@Data
public class UserEntity implements Serializable {private Integer id;/*** 用户名*/private String userName;/*** 用户手机号*/private String phone;public UserEntity(Integer id,String userName,String phone) {this.id = id;this.userName = userName;this.phone = phone;}
}

二、操作实例

public static void main(String[] args) {List<UserEntity> users = new ArrayList<>();users.add(new UserEntity(1, "张三", "123131"));users.add(new UserEntity(2, "李四", "123132"));users.add(new UserEntity(3, "王五", "123131"));System.out.println("原始数据+++++++++++++++++++++++++++++++++++++++++");users.forEach(System.out::println);System.out.println("对象中的每个元素投影到属性++++++++++++++++++++++");List<Map> lis_new = users.stream().map(new Function<UserEntity, Map>() {@Overridepublic Map apply(UserEntity userEntity) {Map map = new HashMap();map.put("姓名", userEntity.getUserName());map.put("电话", userEntity.getPhone());return map;}}).collect(Collectors.toList());lis_new.forEach(System.out::println);System.out.println("--------------------------------------------------");List<Map> lis_new1 = users.stream().map(new Function<UserEntity, Map>() {@Overridepublic Map apply(UserEntity userEntity) {Map map = new HashMap();map.put("标识", userEntity.getId());map.put("昵称", userEntity.getUserName());return map;}}).collect(Collectors.toList());lis_new1.forEach(System.out::println);System.out.println("获取属性-----------------------------------------");lis_new1.stream().forEach(val -> System.out.println(val.getOrDefault("标识", "0") + ":" + val.getOrDefault("昵称", "无名")));
}

输出结果:

本次记录就到这里了。

行到水穷处,坐看云起时。——王维《终南别业 / 初至山中 / 入山寄城中故人》

Java提取对象集合的某些属性生成新集合相关推荐

  1. 【Groovy】集合遍历 ( 使用集合的 collect 循环遍历集合并根据指定闭包规则生成新集合 | 代码示例 )

    文章目录 一.使用集合的 collect 循环遍历集合并根据指定闭包规则生成新集合 二.代码示例 一.使用集合的 collect 循环遍历集合并根据指定闭包规则生成新集合 调用集合的 collect ...

  2. ES6新特性_ES6对象添加Symbol类型属性---JavaScript_ECMAScript_ES6-ES11新特性工作笔记016

    然后我们再来看,给对象添加symbol类型的属性, 这个这样做的目的就是: 保证我们添加的方法或属性是唯一的,因为我们知道 我们的symbol这个属性是有唯一性的. 首先我们有个 let game = ...

  3. pandas提取数据框其中几列生成新数据框

    假设列名如下: Team Goals Yellow Cards Red Cards 数据框:euro2012 要取得其中的yellow cards 和 red cards,形成 新的 数据框new: ...

  4. java word模板poi生成文件_利用poi读取word模板文件生成新的word文档

    利用poi读取word模板文件生成新的word文档 利用poi读取word模板文件,并回填逻辑数据,生成并导出需要的word文档源码.解决模板读取异常问题,提供wordUtils工具类(各种功能实现) ...

  5. Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素...

    1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...

  6. Java基础(19)数据结构概述、ArrayList集合、Vector集合、LinkedList集合、集合框架练习

    1. 数据结构概述 1. 数据结构的概述:数据结构就是数据存储的方式 2. 常见数据结构:栈,队列,数组,链表,二叉树,哈希表 3. 栈和队列 (1)栈:先进后出,后进先出 (2)队列:先进先出,后进 ...

  7. POI操作word模板并生成新的word.docx

    XWPFDocument对象 POI是apache提供的可以操作word文档的第三方jar.POI能操作word是使用XWPFDocument对象. XWPFDocument对象可以解析docx文件, ...

  8. 利用poi读取word模板文件生成新的word文档

    利用poi读取word模板文件生成新的word文档 利用poi读取word模板文件,并回填逻辑数据,生成并导出需要的word文档源码.解决模板读取异常问题,提供wordUtils工具类(各种功能实现) ...

  9. python中的set集合_python-数据类型之set集合

    集合set是Python中一种基本数据类型,它分为可变集合(set)和不可变集合(frozenset)两种.类似于其他语言,集合是一个无序不重复元素集,包括创建集合set.向集合中添加元素.删除集合中 ...

最新文章

  1. python【蓝桥杯vip练习题库】ADV-186排列式
  2. Android性能优化 - 内存优化
  3. 大众点评app 数据解密和反序列化
  4. k8s install
  5. pytorch梯度下降函数_Pytorch中常用的四种优化器SGD、Momentum、RMSProp、Adam
  6. Golang原生sql操作Mysql数据库增删改查
  7. A加载B,B发生的变化
  8. ubuntu下使用脚本自动禁用笔记本触摸板和键盘
  9. org.springframework.web.servlet.view.ContentNegotiatingViewResolver
  10. 阿里云混合云新一代运维平台的演进与实践
  11. c++ 数字后加f_电工电子学 | 数字集成电路
  12. 计算机蓝屏代码大全,电脑蓝屏代码大全 菜鸟必看
  13. Python开心消消乐源代码
  14. 关于计算机音乐编创的论文,有关浅谈少儿舞蹈音乐的编创论文
  15. 易语言大漠插件模块制作窗口获取窗口句柄类
  16. mysql migration 使用_DbMigration的使用方法
  17. rsync 错误排除与修复
  18. android平板电脑手写笔应用,四款最佳手写笔平板推荐
  19. NPOI 读取空Excel 空单元格报错的问题
  20. linux中mysql客户端命令行连接不了 docker 创建的mysql

热门文章

  1. 数据结构:三元组的构建、相加和快速转置
  2. 与你一起学习MS Project——理论篇:项目管理与Project
  3. 电容式真空计的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 使用Topshelf快捷创建Windows服务
  5. 2021绥化高考成绩查询,绥化中考成绩查询2021
  6. 用java对imagemagick进行图片格式转换,例如heic转成jpg
  7. CCSA学习笔记 第一节 思科安全解决方案综述
  8. 设函数f(x)与g(x)在点x0连续,证明函数φ(x)=max{f(x),g(x)},ψ(x)=min{f(x),g(x)}在x0也连续
  9. 面试题-python/django/sql
  10. iPhone被阉割。