Java提取对象集合的某些属性生成新集合
文章目录
- 一、准备工作
- 二、操作实例
有时候在对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提取对象集合的某些属性生成新集合相关推荐
- 【Groovy】集合遍历 ( 使用集合的 collect 循环遍历集合并根据指定闭包规则生成新集合 | 代码示例 )
文章目录 一.使用集合的 collect 循环遍历集合并根据指定闭包规则生成新集合 二.代码示例 一.使用集合的 collect 循环遍历集合并根据指定闭包规则生成新集合 调用集合的 collect ...
- ES6新特性_ES6对象添加Symbol类型属性---JavaScript_ECMAScript_ES6-ES11新特性工作笔记016
然后我们再来看,给对象添加symbol类型的属性, 这个这样做的目的就是: 保证我们添加的方法或属性是唯一的,因为我们知道 我们的symbol这个属性是有唯一性的. 首先我们有个 let game = ...
- pandas提取数据框其中几列生成新数据框
假设列名如下: Team Goals Yellow Cards Red Cards 数据框:euro2012 要取得其中的yellow cards 和 red cards,形成 新的 数据框new: ...
- java word模板poi生成文件_利用poi读取word模板文件生成新的word文档
利用poi读取word模板文件生成新的word文档 利用poi读取word模板文件,并回填逻辑数据,生成并导出需要的word文档源码.解决模板读取异常问题,提供wordUtils工具类(各种功能实现) ...
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素...
1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...
- Java基础(19)数据结构概述、ArrayList集合、Vector集合、LinkedList集合、集合框架练习
1. 数据结构概述 1. 数据结构的概述:数据结构就是数据存储的方式 2. 常见数据结构:栈,队列,数组,链表,二叉树,哈希表 3. 栈和队列 (1)栈:先进后出,后进先出 (2)队列:先进先出,后进 ...
- POI操作word模板并生成新的word.docx
XWPFDocument对象 POI是apache提供的可以操作word文档的第三方jar.POI能操作word是使用XWPFDocument对象. XWPFDocument对象可以解析docx文件, ...
- 利用poi读取word模板文件生成新的word文档
利用poi读取word模板文件生成新的word文档 利用poi读取word模板文件,并回填逻辑数据,生成并导出需要的word文档源码.解决模板读取异常问题,提供wordUtils工具类(各种功能实现) ...
- python中的set集合_python-数据类型之set集合
集合set是Python中一种基本数据类型,它分为可变集合(set)和不可变集合(frozenset)两种.类似于其他语言,集合是一个无序不重复元素集,包括创建集合set.向集合中添加元素.删除集合中 ...
最新文章
- python【蓝桥杯vip练习题库】ADV-186排列式
- Android性能优化 - 内存优化
- 大众点评app 数据解密和反序列化
- k8s install
- pytorch梯度下降函数_Pytorch中常用的四种优化器SGD、Momentum、RMSProp、Adam
- Golang原生sql操作Mysql数据库增删改查
- A加载B,B发生的变化
- ubuntu下使用脚本自动禁用笔记本触摸板和键盘
- org.springframework.web.servlet.view.ContentNegotiatingViewResolver
- 阿里云混合云新一代运维平台的演进与实践
- c++ 数字后加f_电工电子学 | 数字集成电路
- 计算机蓝屏代码大全,电脑蓝屏代码大全 菜鸟必看
- Python开心消消乐源代码
- 关于计算机音乐编创的论文,有关浅谈少儿舞蹈音乐的编创论文
- 易语言大漠插件模块制作窗口获取窗口句柄类
- mysql migration 使用_DbMigration的使用方法
- rsync 错误排除与修复
- android平板电脑手写笔应用,四款最佳手写笔平板推荐
- NPOI 读取空Excel 空单元格报错的问题
- linux中mysql客户端命令行连接不了 docker 创建的mysql
热门文章
- 数据结构:三元组的构建、相加和快速转置
- 与你一起学习MS Project——理论篇:项目管理与Project
- 电容式真空计的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 使用Topshelf快捷创建Windows服务
- 2021绥化高考成绩查询,绥化中考成绩查询2021
- 用java对imagemagick进行图片格式转换,例如heic转成jpg
- CCSA学习笔记 第一节 思科安全解决方案综述
- 设函数f(x)与g(x)在点x0连续,证明函数φ(x)=max{f(x),g(x)},ψ(x)=min{f(x),g(x)}在x0也连续
- 面试题-python/django/sql
- iPhone被阉割。