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. scala中java并发编程

    Runnable/Callable 线程(Thread) Executors/ExecutorService Future 线程安全问题 示例:搜索引擎 解决方案 Runnable/Callable ...

  2. ACdream 1728 SJY's First Task

    简单题. 先建树,我用邻接表来存了.然后对于每个叶子结点DFS一下,DFS深度超过了K就return,找到了叶子节点就记录下来,最后排个序,然后输出答案. 由于结点编号比较奇葩,所以用两个map来转换 ...

  3. linux命令随记

    1.当再Hadoop平台上跑代码的时候,可能会发现有些job是需要被kill重新跑的,此刻,如果一个一个手动去删除会很缓慢,此刻需要使用一个简单的脚本来实现自动全部删除操作: for i in `ha ...

  4. 2-jQuery - AJAX load() 方法【进阶篇】

    第一篇的AJAX load() 方法过于简单,补充一下,完整的. 格式 $(selector).load(URL,data,callback); 源码 <!DOCTYPE html> &l ...

  5. 1.rs.first()、rs.last()、rs.next()、rs.getRow()

    rs.first()获取第一条数据的信息rs.last()获取最后一条数据的信息rs.next()获取下一条数据的信息rs.getRow()获取当前信息的行数 import java.sql.*; p ...

  6. [妙味DOM]第五课:事件深入应用

    知识点总结 鼠标拖拽原理: 1.鼠标按下后开始移动,鼠标抬起停止移动,即onmousedown中要包括onmousemove和onmouseup 2.获取位置的计算:获取鼠标的当前位置-鼠标在物体中的 ...

  7. validform 怎么验证小数。

    <input type="text" class="input-text" value="{$info.score}" placeho ...

  8. 这两天dede 仿站的收货

    首先学会了织梦的安装,其次学会了找织梦默认的模板目录在生成更新主页html和系统设置下的默认末班风格下,然后学会了写一些简单的循环输出代码,发现head2.htm没有找到,更新文件和缓存发现能用了

  9. INSTALL_FAILED_NO_MATCHING_ABIS

    在运行写好的cocos的demo时候,安装出现以下问题: 后来发现是因为自己用cygwin生成的x86的.so文件跟自己的魅族3机器CPU不适配!!! 参考:http://stackoverflow. ...

  10. jquery拖拽效果

    <!doctype html><html lang="en"><head> <meta charset="utf-8" ...