Java 实体类分组转换:将数据库查询结果转换为 Test 对象
将数据库查询结果转换为 Test 实体类
步骤:
-
创建 Test 实体类: javapublic class Test { private String key; private List
values; // 构造方法、getter和setter方法省略}
-
**从数据库查询数据:**javaList
queryResult = // 从数据库查询数据的代码 -
**使用 Stream API 分组和转换:**javaMap<String, List
> groupedData = queryResult.stream() .collect(Collectors.groupingBy(YourEntity::getKey, Collectors.mapping(YourEntity::getValue, Collectors.toList()))); -
**将分组后的数据转换为 Test 对象列表:**javaList
testList = groupedData.entrySet().stream() .map(entry -> new Test(entry.getKey(), entry.getValue())) .collect(Collectors.toList());
解释:
- 代码使用 Java 8 的 Stream API 进行数据处理,首先使用
groupingBy方法按照YourEntity对象的getKey方法返回的key值进行分组,然后使用mapping方法将每个分组中的YourEntity对象的getValue方法返回的value值提取出来并存储在一个List中。* 最后,将分组后的数据转换为Test对象列表,每个Test对象的key和values属性分别对应分组后的key值和values列表。
结果:
经过以上步骤,testList 中将存储按 key 分组并提取 value 后转换成的 Test 对象列表。
示例:
假设 YourEntity 类包含 getKey 和 getValue 方法,数据库查询结果如下:
| key | value ||---|---|| A | 1 || A | 2 || B | 3 || B | 4 |
经过分组和转换后,testList 将包含以下两个 Test 对象:
key: A,values: [1, 2]*key: B,values: [3, 4]
原文地址: https://www.cveoy.top/t/topic/qDqV 著作权归作者所有。请勿转载和采集!