JAVA模仿SQL的group by分组
来源:互联网 发布:少儿学编程的优势 编辑:程序博客网 时间:2024/05/17 07:48
public List groupByList(final List<XxxObject> List) {
if(CollectionUtils.isEmpty(listformdetail)){
return ;
}
List groupbyList = new ArrayList();
Map<String, Integer> map = new HashMap<String, Integer>();
for (XxxObject obj : List) {
if (obj.getXxx() != null
&& obj.getXxx().getXyy() != null) {
Xyy xyy = obj.getXxx().getXyy();
//org.apache.commons.lang.StringUtils
// key值的构成:Xxx编码:Xxx名称,以这两个来进行分组,统计
String key = StringUtils.trimToEmpty(xyy.getCode()) + ":"
+ StringUtils.trimToEmpty(xyy.getName());
if (map.containsKey(key)) {
Integer val = obj.getAmount().intValue() + map.get(key).intValue();
map.put(key, val);
} else {
map.put(key, obj.getAmount().intValue());
}
}
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String[] names = StringUtils.splitByWholeSeparator(entry.getKey(), ":");
Xyy rc = new Xyy();
XxxDTO dto = new XxxDTO();
rc.setCode(names[0]);
rc.setName(names[1]);
dto.setXyy(rc);
dto.setAmount(Double.valueOf(entry.getValue()));
groupbyList.add(dto);
}
return groupbyList;
}
if(CollectionUtils.isEmpty(listformdetail)){
return ;
}
List groupbyList = new ArrayList();
Map<String, Integer> map = new HashMap<String, Integer>();
for (XxxObject obj : List) {
if (obj.getXxx() != null
&& obj.getXxx().getXyy() != null) {
Xyy xyy = obj.getXxx().getXyy();
//org.apache.commons.lang.StringUtils
// key值的构成:Xxx编码:Xxx名称,以这两个来进行分组,统计
String key = StringUtils.trimToEmpty(xyy.getCode()) + ":"
+ StringUtils.trimToEmpty(xyy.getName());
if (map.containsKey(key)) {
Integer val = obj.getAmount().intValue() + map.get(key).intValue();
map.put(key, val);
} else {
map.put(key, obj.getAmount().intValue());
}
}
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String[] names = StringUtils.splitByWholeSeparator(entry.getKey(), ":");
Xyy rc = new Xyy();
XxxDTO dto = new XxxDTO();
rc.setCode(names[0]);
rc.setName(names[1]);
dto.setXyy(rc);
dto.setAmount(Double.valueOf(entry.getValue()));
groupbyList.add(dto);
}
return groupbyList;
}
0 0
- JAVA模仿SQL的group by分组
- List模仿SQL的group by分组
- SQL Group By分组的使用
- SQL 统计分组 Group By和Compute By的整理
- SQL分组查询group by
- SQL 分组函数 group by
- SQL group by分组查询
- SQL 分组排序group by
- SQL group by分组查询
- SQL group by分组查询
- SQL 分组(group by)
- sql的分组统计与group by 日期的处理
- SQL语句:用count求group by分组的个数
- sql中关于分组(group by)的理解
- SQL,计算group by分组后组内不同值的数量
- group by分组的应用
- group by分组统计SQL语句
- SQL select 使用 GROUP BY 分组介绍
- PAT (Advanced Level) Practise 1001. A+B Format (20)
- PAT-A 1058. A+B in Hogwarts
- 剑指offer第8题:旋转数组的最小数字
- 情绪波动之时有感而记
- ubuntu虚拟机下桥接模式,静态ip上网
- JAVA模仿SQL的group by分组
- C++11 VS2012 regex正则表达式崩溃sregex_token_iterator
- CSS-填充
- 排名机制 营造的环境,产业链。
- 通常会选择 便宜的,性价比高的。
- PAT-A 1083. List Grades
- BestCoder Round #26
- mysq绿色版安装
- POJ 2096 Collecting Bugs(期望DP)