java中list集合的内容,如何使用像数据库中group by形式那样排序,比如:
有一个 List<JavaBean> 他中包含了一些如下的内容
JavaBean:
name    money
(名称)  (金额) 来源A   100
来源B   200
来源C   300
来源B   6600
来源A   99800
<数据1> 最后想实现的是:如果假设这些数据在数据库中,那么通过 select name,sum(money) from Table group by name 该语句得到的List<JavaBean>
来源A  99900
来源B  6800
来源C  300
<数据2> 简单的说就是让集合从 <数据1>的形式 变为 <数据2>的形式 请高手帮忙哦。谢谢了! package cn.zhangao; 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;
} }

java中list集合的内容,如何使用像数据库中group by形式那样排序的更多相关文章

  1. 从集合的无序性看待关系型数据库中的"序"

    本文目录:1.集合的特征2.集合的无序性3.表中记录的无序性4.集合的"序"和物理存储顺序之间的关系5.查询结果(虚拟表)的无序性.随机性6.为什么总是强调"无序&quo ...

  2. 如何用java POI将word中的内容导入到mysql数据库中

    由于作业需要,要求我们将word文档中的数据直接导入到mysql中,在网上找了很常时间,终于将其解决. 由于比较初级,所以处理的word文档是那种比较规范的那种,条例比较清晰,设计的思路也比较简单,就 ...

  3. Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中

    功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...

  4. 依赖Spring的情况下,Java Web项目如何在启动时加载数据库中的数据?

    原文:https://blog.csdn.net/u012345283/article/details/39558537 原文:https://blog.csdn.net/wandrong/artic ...

  5. Java爬网页数据,并存储到本地数据库中

    由于开发一个人工智能项目,需要强大的后台数据库加持,所以,没有办法,又是需要医疗数据,只能自己爬某医疗网站数据,进行分析,但是由于不同网站的结构不一样,所以这个程序只能爬该网站的,第一次爬网页数据,自 ...

  6. 用selenium 自动爬取某一本小说章节及其内容,并存入数据库中

    from selenium import webdriver import pymysql from selenium.webdriver.support.ui import WebDriverWai ...

  7. 在 Symfony Command中自定义脚本把Excel数据导入到数据库中

    // 注:只是在此做下记录,有兴趣的可以参考,不做实际教程文档 <?php/** * Created by IntelliJ IDEA. * User: davis * Date: 2019-0 ...

  8. 当From窗体中数据变化时,使用代码获取数据库中的数据然后加入combobox中并且从数据库中取得最后的结果

    private void FormLug_Load(object sender, EventArgs e) { FieldListLug.Clear();//字段清除 DI = double.Pars ...

  9. Kooboo中如何切换数据库(注意:如果切换数据库,需要Kooboo中没有一个website 否则会报错数据库中没有表之类的)

    Setup database provider 来自Kooboo document   Kooboo CMS can almost support all the types of database, ...

随机推荐

  1. C#读取Excel的其中一种方式OleDb读取(100万条)--快速大量插入SQL中

    主要运用表类型 Create table BulkTestTable( Id nvarchar(), UserName nvarchar(), Pwd nvarchar() ) Go CREATE T ...

  2. dropdown-toggle 的点击禁用

    <div class="dropdown select-dropdown" id="choiceTagdiv"> <a class=" ...

  3. pthon之异常、文件练习题

    1.在当前目录下查找文件夹“电摄班”,如果不存在则创建2.在电摄班下创建boys.girls.两个txt文件3.将字典中属于电摄班的同学按男女区分,分别放到boys.girls文件中,每个名字在文件中 ...

  4. Major and minor numbers

    The major nuber is the driver associated with the device, while the minor number is used by the kern ...

  5. Linux增加swap分区大小

    1. 查看当前分区情况 free -m 2. 增加 swap 大小, 2G 左右 dd if=/dev/zero of=/var/swap bs=1024 count=2048000 3. 设置交换文 ...

  6. JS同源策略和跨域问题

    同源策略和跨域问题:http://www.cnblogs.com/chaoyuehedy/p/5556557.html 深入浅出JSONP--解决ajax跨域问题:http://www.cnblogs ...

  7. 《JS权威指南学习总结--9.5 类和类型》

    内容要点: 介绍了三种用以检测任意对象的类的技术,instanceof运算符.constructor属性,以及构造函数的名字. 但每种技术都不甚完美,本节总结了鸭式辩型,这种编程哲学更加关注对象可以完 ...

  8. Class.forName()

    主要功能 Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类, 也就是说JVM会执行该类的静态代码段 ...

  9. strstr() strpos() 获取db报错,判断报错中是否包含字符串,判断错误类型

    model中直接获取添加公司的错误.(公司名称不能重复) $enterprise_id = $this->add($enterprisedata ); $err = $this->getD ...

  10. Leetcode 074 Search a 2D Matrix

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...