使用jdk8 的stream 对list进行分组

  我在这里使用java进行对数据进行分组是有原因的,比如在数据库中 某一个字段是数据为分数类型的时候,比如, 0-10 表示张三, 11-20 表示李四  , 那么我在某一行的数据中是一个一个区间的值  比如 0-10的区间  我里面一个1,那么这个时候在数据库中分组查询那不很尴尬  毕竟0-10 才是一个数据, sql的分组查询只能过滤掉重复的, 所以我只想到了将数据查询出来, 然后使用list进行分组 (或者可以在数据库中建一个触发器, 然后使用if else 在数据库中判断值) 我这里只用了list来分组
比如这种数据,都是0-10区间的,最结果返回的都是同一个结果
// 对list进行分组,对象的属性是哪个类型, map的key也要那个类型, 否则会报找不到该静态的方法编译异常
            Map<String, List<CreaditResult>> groupBy = creaditResultList.stream().collect(Collectors.groupingBy(CreaditResult::getBrandName)); 


 // 这里是对分组后的某个字段进行累计总数,(这个是字符串累计 , 不是求和哈)
                Map<String,Long> map = creaditResults.stream().collect(Collectors.groupingBy(CreaditResult::getCreaditName,Collectors.counting()));

list分组后和统计数量
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我想,我是一个不容易分清楚概念的人,不知道什么叫饿,也不知道什么叫爱。 从小就弄不明白什么叫饿,因为从小饭量就不大...
    榆林境阅读 244评论 0 0
  • 我是一个恋旧的人。 进入大学生活已经一学期了,记得刚进来那会儿怀着期待的心情,想着会不会像言情小说中那样一进校园就...
    暖心的小芋头阅读 1,013评论 0 1