`
thomas0988
  • 浏览: 486062 次
  • 性别: Icon_minigender_1
  • 来自: 南阳
社区版块
存档分类
最新评论

group by 用java代码实现

 
阅读更多
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实现分组聚合

    这个主题通常与Java集合框架和流API紧密相关,特别是`GroupingBy`方法,它为数据分组提供了方便的接口。以下是对"java实现分组聚合"这一主题的详细解释。 首先,让我们了解Java中的分组概念。在Java中,我们经常...

    java 从hadoop hdfs读取文件 进行groupby并显示为条形图

    在GROUP BY操作中,通常会使用MapReduce的Reduce阶段来实现分组聚合。Map阶段将数据拆分成键值对,Reduce阶段则根据相同的键进行聚集,如计算COUNT、AVG和MAX。 3. **从HDFS读取文件**:使用`FileSystem`类的`open...

    java+mysql实现的代码分享网(所有源码已开源,效果可看网址:www.admintwo.com)

    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动态条件之分页查询" 本文主要介绍了使用JAVA实现MongoDB动态条件之分页查询,通过讲解详细的代码实现,帮助读者更好地理解和学习。下面是对标题和描述中所说的知识点的详细说明: 一、使用...

    ktable源码 ktable java实现 源代码

    2. **转换操作**:接着,我们可以对数据流应用各种转换操作,如`map()`, `filter()`, `flatMap()`, `groupBy()`等,这些操作会生成新的KTable实例。 3. **连接操作**:KTable支持连接操作,如`join()`和`leftJoin()...

    java连接mysql的 gui图形界 面实现增删改查

    SQL语句的编写需要对SQL语法有深入理解,例如,WHERE子句用于指定条件,JOIN用于合并多表数据,GROUP BY和HAVING用于分组和过滤等。 在执行SQL语句时,我们通常使用Statement或PreparedStatement接口。...

    JAVA8 STREAM COLLECT GROUPBY分组实例解析

    JAVA8 STREAM COLLECT GROUPBY分组实例解析提供了一个强大的工具来实现数据分组和统计,通过使用Collectors.groupBy()方法和Collectors.mapping()方法,我们可以轻松地实现数据分组和统计,并且输出结果也非常直观...

    java数据库编程_代码

    10. **SQL语言基础**:了解基本的SQL语句,如SELECT,INSERT,UPDATE,DELETE,以及JOIN,WHERE,GROUP BY,HAVING等子句,是进行数据库编程的基础。 11. **异常处理**:在Java数据库编程中,需要捕获并处理`...

    图书管理系统借书还书续借罚金(JAVA+SQL2005)

    - SQL查询语言:SELECT、INSERT、UPDATE、DELETE,以及JOIN、GROUP BY等高级查询。 - 数据库设计:理解关系模型,合理设计实体(如用户表、图书表、借阅记录表等)及其关联。 - GUI编程:使用Java Swing或JavaFX创建...

    第一行代码Java源代码第14章课程代码Java数据库

    10. SQL语言基础:了解基本的SQL语句,如SELECT、INSERT、UPDATE、DELETE,以及JOIN、GROUP BY、HAVING等高级查询概念,是进行Java数据库编程的基础。 通过学习本章内容,开发者将能够熟练地使用Java进行数据库操作...

    经典java项目源代码

    1. **SQL语言**:包括SELECT、INSERT、UPDATE、DELETE等基本操作,以及JOIN、GROUP BY、HAVING等复杂查询技巧。 2. **JDBC(Java Database Connectivity)**:Java连接数据库的标准接口,用于执行SQL语句、处理结果...

    Java+SQLServer学生成绩管理系统(代码+数据库).zip

    2. SQL查询语言:使用SQL语句进行数据的增删改查操作,如SELECT、INSERT、UPDATE、DELETE,以及JOIN、WHERE、GROUP BY等子句。 3. 存储过程:为了提高性能和简化复杂操作,可以编写存储过程,封装多次SQL操作。 4. ...

    基于java的会员系统

    你需要熟悉SQL语言,包括SELECT查询、INSERT插入、UPDATE更新和DELETE删除等基本操作,以及JOIN、WHERE、GROUP BY和HAVING子句来处理复杂的数据查询。此外,理解事务处理和索引优化对于提高系统的性能和数据一致性至...

    java8实战:使用流收集数据之toList、joining、groupBy(多字段分组)

    总的来说,Java 8的Stream API通过`toList`、`joining`和`groupBy`等方法,提供了一种声明式、高效的数据处理方式,极大地简化了对集合数据的操作。熟练掌握这些方法,可以显著提高代码的可读性和效率,是每个Java...

    DBTools代码以及设置文件,java 代码审查表,sql基本语法

    在“实验四综合实验”中,可能包含了实践性的任务,要求你运用上述知识点进行实际操作,例如编写Java代码来连接数据库、执行SQL查询,或者使用DBTools进行数据迁移等。通过这样的实验,你可以更好地理解和掌握这些...

    Java8进行多个字段分组统计的实例代码

    使用Java8实现多字段分组统计的优点是可以灵活地处理复杂的数据处理逻辑,并且可以使用Lambda表达式和方法引用来简化代码。但是,使用Java8实现多字段分组统计的缺点是需要较高的编程能力和Java8的知识基础。 结论 ...

    (Java)人群随机分组 by 夜猫

    在Java编程中,实现"人群随机分组"的需求通常涉及到数组、集合以及随机数生成等基础知识。本项目 `(Java)人群随机分组 by 夜猫` 提供了一个解决方案,旨在将一组人(可以理解为一个数据列表)尽可能均匀地划分为四个...

    java8中stream特性对比实现SQL语句等价功能的用法的部分示例

    实现了类似SQL语句中的计数count(*)、where查询、group by分组查询等操作。实际应用中可以在java中对数据库中取到的数据作进一步加工,减少数据库服务器的压力,减少对数据库“方言”的依赖。可供初学者参考(前提...

Global site tag (gtag.js) - Google Analytics