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. css3学习01

    1.圆角边框(div的一个属性:border-radius) <!DOCTYPE html> <html> <head> <style> div { t ...

  2. php正则匹配中文

    <?php $str = '你是我的+****xiaopingguo _ 23947237 _+冠军终归这里'; preg_match_all('/[\x{4e00}-\x{9fa5}A-Za- ...

  3. ajax请求相关方法

    jquery的ajax请求相关方法有多个: 1.$.ajax() 示例: <!DOCTYPE html> <html> <head> <meta charse ...

  4. Android:自定义Dialog大小,显示圆角

    经过测试,可以使用. ----------------------------------------------------------- AlertDialog.Builder builder = ...

  5. Android中的eventBus传值

    第一步:在build.gradle中添加依赖dependencies { compile 'org.greenrobot:eventbus:3.0.0'} 第二步:创建一个 Event类: 注意:en ...

  6. AngularJs应用

    引用angularjs文件 AngularJS 应用组成如下:View(视图), 即 HTML.Model(模型), 当前视图中可用的数据.Controller(控制器), 即 JavaScript ...

  7. js-字符串函数

    js字符串函数 JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";v ...

  8. js-学习方法之3

    熟悉JavaScript每一个方法的作用 这一要求听起来似乎有点不太实际,我想这个要求对于像C#.JAVA这些大型语言来说确实是,因为这些语言类库实在太庞大了,相信没有人可以全面记住它,而且也是没有必 ...

  9. Sublime Text 2

    常用功能: 安装Package Control:https://sublime.wbond.net/ 多行选择.多行编辑鼠标选中多行,按下 Ctrl+Shift+L (Command+Shift+L) ...

  10. Apple pay的使用

    Apple pay的使用场景:1.app内:唯品会.   2.线下场景:万达 Apple pay的硬件要求:iphone6 以上  苹果婊 Apple pay的软件要求:国内(应该是)iOS9.2以上 ...