Java8 stream 中利用 groupingBy 进行多字段分组
2021-03-12 22:28
标签:split 一对一 func ble name print 产品 icc 条件 1、利用stream对数据进行分组并求和 输出结果:{"papaya":1,"orange":1,"banana":2,"apple":3} 2、 在实际需求中,我们可能需要对一组对象进行分组,而且分组的条件有多个。比如对国家和产品类型进行双重分组,一种比较复杂的方法是先对产品类型进行分组,然后对每一个产品类型中的国际名进行分组求和。 转换前的对象: 转换后的格式: 转换代码: 优化代码: Java8 stream 中利用 groupingBy 进行多字段分组 标签:split 一对一 func ble name print 产品 icc 条件 原文地址:https://www.cnblogs.com/maohuidong/p/14073911.html public static void main(String[] args) {
List
@Data
public class GameMusicVO implements Serializable {
/**
* 游戏Id
**/
private Integer gameId;
/**
* 音乐Id
**/
private Integer musicId;
/**
* 音乐code
**/
private String musicCode;
/**
* 音乐配置名称
**/
private String codeName;
/**
* 音乐名称
**/
private String musicName;
/**
* 音乐大小
**/
private Float size;
/**
* 音乐长度
**/
private Long timeLength;
/**
* 存储的路径
**/
private String path;
/**
* 是否选中
**/
private String value;
}
@Data
public class GameNewMusicVO implements Serializable {
/**
* 音乐code
**/
private String code;
/**
* 音乐配置名称
**/
private String codeName;
/**
* 音乐列表
**/
private List
List
//这里虽然code与codeName是一对一,但还需要再查询一次。
//temp.setCodeName(GameStringUtils.matchCodeName(key,musicCodeVOList));
temp.setChildren(menuGroupMap.get(key));
return temp;
}).collect(Collectors.toList());Map
文章标题:Java8 stream 中利用 groupingBy 进行多字段分组
文章链接:http://soscw.com/index.php/essay/63848.html