import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; public class ListGroup { public static void main(String[] args) { List<JavaBean> list = new ArrayList<JavaBean>(); list.add(new JavaBean("来源A", 100)); list.add(new JavaBean("来源B", 200)); list.add(new JavaBean("来源C", 300)); list.add(new JavaBean("来源B", 6600)); list.add(new JavaBean("来源A", 99800)); List<JavaBean> groupList = getListByGroup(list); for (JavaBean bean : groupList) { System.out.print(bean.getGroup() + " "); System.out.println(bean.getMoney()); } } private static List<JavaBean> getListByGroup(List<JavaBean> list) { List<JavaBean> result = new ArrayList<JavaBean>(); Map<String, Integer> map = new HashMap<String, Integer>(); for (JavaBean bean : list) { if (map.containsKey(bean.getGroup())) { map.put(bean.getGroup(), map.get(bean.getGroup()) + bean.getMoney()); } else { map.put(bean.getGroup(), bean.getMoney()); } } for (Entry<String, Integer> entry : map.entrySet()) { result.add(new JavaBean(entry.getKey(), entry.getValue())); } return result; } } class JavaBean { private String group; private int money; public JavaBean() { } public JavaBean(String group, int money) { this.group = group; this.money = money; } public String getGroup() { return group; } public void setGroup(String group) { this.group = group; } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } }
http://blog.163.com/profit_2009/blog/static/122431617201143053228923/
相关推荐
这个主题通常与Java集合框架和流API紧密相关,特别是`GroupingBy`方法,它为数据分组提供了方便的接口。以下是对"java实现分组聚合"这一主题的详细解释。 首先,让我们了解Java中的分组概念。在Java中,我们经常...
在GROUP BY操作中,通常会使用MapReduce的Reduce阶段来实现分组聚合。Map阶段将数据拆分成键值对,Reduce阶段则根据相同的键进行聚集,如计算COUNT、AVG和MAX。 3. **从HDFS读取文件**:使用`FileSystem`类的`open...
left join (select c.resources_id,count(c.resources_id) as res_comments_num from resources r,comments c where r.id=c.resources_id group by c.resources_id)c on a.id=c.resources_id #查询下载数 left join ...
"JAVA代码实现MongoDB动态条件之分页查询" 本文主要介绍了使用JAVA实现MongoDB动态条件之分页查询,通过讲解详细的代码实现,帮助读者更好地理解和学习。下面是对标题和描述中所说的知识点的详细说明: 一、使用...
2. **转换操作**:接着,我们可以对数据流应用各种转换操作,如`map()`, `filter()`, `flatMap()`, `groupBy()`等,这些操作会生成新的KTable实例。 3. **连接操作**:KTable支持连接操作,如`join()`和`leftJoin()...
SQL语句的编写需要对SQL语法有深入理解,例如,WHERE子句用于指定条件,JOIN用于合并多表数据,GROUP BY和HAVING用于分组和过滤等。 在执行SQL语句时,我们通常使用Statement或PreparedStatement接口。...
JAVA8 STREAM COLLECT GROUPBY分组实例解析提供了一个强大的工具来实现数据分组和统计,通过使用Collectors.groupBy()方法和Collectors.mapping()方法,我们可以轻松地实现数据分组和统计,并且输出结果也非常直观...
10. **SQL语言基础**:了解基本的SQL语句,如SELECT,INSERT,UPDATE,DELETE,以及JOIN,WHERE,GROUP BY,HAVING等子句,是进行数据库编程的基础。 11. **异常处理**:在Java数据库编程中,需要捕获并处理`...
- SQL查询语言:SELECT、INSERT、UPDATE、DELETE,以及JOIN、GROUP BY等高级查询。 - 数据库设计:理解关系模型,合理设计实体(如用户表、图书表、借阅记录表等)及其关联。 - GUI编程:使用Java Swing或JavaFX创建...
10. SQL语言基础:了解基本的SQL语句,如SELECT、INSERT、UPDATE、DELETE,以及JOIN、GROUP BY、HAVING等高级查询概念,是进行Java数据库编程的基础。 通过学习本章内容,开发者将能够熟练地使用Java进行数据库操作...
1. **SQL语言**:包括SELECT、INSERT、UPDATE、DELETE等基本操作,以及JOIN、GROUP BY、HAVING等复杂查询技巧。 2. **JDBC(Java Database Connectivity)**:Java连接数据库的标准接口,用于执行SQL语句、处理结果...
2. SQL查询语言:使用SQL语句进行数据的增删改查操作,如SELECT、INSERT、UPDATE、DELETE,以及JOIN、WHERE、GROUP BY等子句。 3. 存储过程:为了提高性能和简化复杂操作,可以编写存储过程,封装多次SQL操作。 4. ...
你需要熟悉SQL语言,包括SELECT查询、INSERT插入、UPDATE更新和DELETE删除等基本操作,以及JOIN、WHERE、GROUP BY和HAVING子句来处理复杂的数据查询。此外,理解事务处理和索引优化对于提高系统的性能和数据一致性至...
总的来说,Java 8的Stream API通过`toList`、`joining`和`groupBy`等方法,提供了一种声明式、高效的数据处理方式,极大地简化了对集合数据的操作。熟练掌握这些方法,可以显著提高代码的可读性和效率,是每个Java...
在“实验四综合实验”中,可能包含了实践性的任务,要求你运用上述知识点进行实际操作,例如编写Java代码来连接数据库、执行SQL查询,或者使用DBTools进行数据迁移等。通过这样的实验,你可以更好地理解和掌握这些...
使用Java8实现多字段分组统计的优点是可以灵活地处理复杂的数据处理逻辑,并且可以使用Lambda表达式和方法引用来简化代码。但是,使用Java8实现多字段分组统计的缺点是需要较高的编程能力和Java8的知识基础。 结论 ...
在Java编程中,实现"人群随机分组"的需求通常涉及到数组、集合以及随机数生成等基础知识。本项目 `(Java)人群随机分组 by 夜猫` 提供了一个解决方案,旨在将一组人(可以理解为一个数据列表)尽可能均匀地划分为四个...
实现了类似SQL语句中的计数count(*)、where查询、group by分组查询等操作。实际应用中可以在java中对数据库中取到的数据作进一步加工,减少数据库服务器的压力,减少对数据库“方言”的依赖。可供初学者参考(前提...