实体类 AssetMgmtProdBreakRule
private static final long serialVersionUID = 4768352198844551182L;
private int id;
private String assetMgmtProdCode;
private String yyyymmdd;
private String sysRuleCode;
private String description;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAssetMgmtProdCode() {
return assetMgmtProdCode;
}
public void setAssetMgmtProdCode(String assetMgmtProdCode) {
this.assetMgmtProdCode = assetMgmtProdCode;
}
public String getYyyymmdd() {
return yyyymmdd;
}
public void setYyyymmdd(String yyyymmdd) {
this.yyyymmdd = yyyymmdd;
}
public String getSysRuleCode() {
return sysRuleCode;
}
public void setSysRuleCode(String sysRuleCode) {
this.sysRuleCode = sysRuleCode;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
需求 : 对集合 List<AssetMgmtProdBreakRule> ruleList
进行分组,先根据assetMgmtProdCode 分组,再根据yyymmdd分组.
解决方案:
Map<String, Map<String, List<AssetMgmtProdBreakRule>>> collect = ruleList.stream().collect(
Collectors.groupingBy(AssetMgmtProdBreakRule::getAssetMgmtProdCode,Collectors.groupingBy(AssetMgmtProdBreakRule::getYyyymmdd))
);