当前位置: 首页 > news >正文

java取出list中的某几个属性组成一个新的集合的几种方式

我用了三种方式,1:forEach循环;2:for循环;3:stream方法

package org.springblade.test;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;public class Test {@org.junit.jupiter.api.Testpublic void aaa() {User user1 = new User("张三", 10, 1);User user2 = new User("李四 ", 11, 1);User user3 = new User("王五", 12, 0);List<User> users = new ArrayList<>();users.add(user1);users.add(user2);users.add(user3);//我这里都转为了List<Map<String, Object>>数组,也可以转换为一个新的实体类(自行创建)//使用forEach循环转化List<Map<String, Object>> infosFromForEach = new ArrayList<>();users.forEach(user -> {Map<String, Object> singleMap = new HashMap<>();singleMap.put("age", user.getAge());singleMap.put("gender", user.getGender());infosFromForEach.add(singleMap);});//使用for循环转化List<Map<String, Object>> infosFromFor = new ArrayList<>();for (User user : users) {Map<String, Object> singleMap = new HashMap<>();singleMap.put("age", user.getAge());singleMap.put("gender", user.getGender());infosFromFor.add(singleMap);}//使用stream流实现转换List<Map<String, Object>> collect = users.stream().map(user -> {Map<String, Object> singleMap = new HashMap<>();singleMap.put("age", user.getAge());singleMap.put("gender", user.getGender());return singleMap;}).collect(Collectors.toList());}}class User {//姓名private String name;//年龄private Integer age;//性别:0:女;1:男private Integer gender;public User() {}public User(String name, Integer age, Integer gender) {this.name = name;this.age = age;this.gender = gender;}public String getName() {return name;}public User setName(String name) {this.name = name;return this;}public Integer getAge() {return age;}public User setAge(Integer age) {this.age = age;return this;}public Integer getGender() {return gender;}public User setGender(Integer gender) {this.gender = gender;return this;}}

http://www.lryc.cn/news/267218.html

相关文章:

  • 开源自托管导航页配置服务Dashy本地搭建结合内网穿透远程访问
  • Cloudstack多个管理服务器节点
  • 31. Ajax
  • ArrayList源码学习笔记(3)
  • flutter怎么对ReorderableListView中的用于排序的控制手柄进行显示或隐藏
  • python 1200例——【9】斐波那契数列
  • JavaScript读写T5557卡源码
  • 【数据结构】LRU缓存的简单模拟实现(leetcode力扣146LRU缓存)
  • 基于电商场景的高并发RocketMQ实战-Commitlog基于内存的高并发写入优化、基于JVM offheap的内存读写分离机制
  • 工具系列:TensorFlow决策森林_(3)使用dtreeviz可视化
  • 【算法学习】斐波那契数列模型-动态规划
  • ES的安装和RestClient的操作
  • 访问者模式(Visitor)
  • ATTCK红队评估一
  • W5500-EVB-Pico评估版介绍
  • 单聊和群聊
  • Swift 检测 iCloud状态
  • 使用Windi CSS(基于vue-cli)
  • 操作无法完成(错误 0x000006ba),Windows 11 PDF打印机无法使用解决办法
  • Settings中电池选项-Android13
  • 解密 Java ForEach 提前终止问题
  • 7_js_dom编程入门1
  • 使用 Elasticsearch 检测抄袭 (一)
  • STM32 cubeMX 直流电机控制风扇转动
  • 我在 VSCode 插件里接入了 ChatGPT,解决了Bug无法定位的难题
  • 学Java的第四天
  • [内功修炼]函数栈帧的创建与销毁
  • 【深度学习-目标检测】03 - Faster R-CNN 论文学习与总结
  • oracle11体系结构二-存储结构
  • 如何通过内网穿透实现远程访问本地Linux SVN服务