Java8之分组
数据库中根据多个条件进行分组
select a, b, count(1) from tableA group by a, b
现在不使用sql,而直接使用java编写分组,则通过Java8根据多个条件进行分组代码如下:
List<User> list = Arrays.asList(
new User("name1", "pwd1"),
new User("name2", "pwd2"),
new User("name1", "pwd2"),
new User("name2", "pwd1");
new User("name1", "pwd1")
);
list.stream().collect(Collectors.groupBy(User::getName), Collectors.groupBy(User::getPwd, Collectors.counting));
根据一个条件分组:
list.stream().collect(Collectors.groupBy(User::getPwd, Collectors.counting));
Java8之分组的更多相关文章
- Java8 Stream分组
//根据排课id分组 Map<Integer, List<Schedule4Homework>> idSchedule4HomeworksMap = schedule4Home ...
- Java8中聚合操作collect、reduce方法详解
Stream的基本概念 Stream和集合的区别: Stream不会自己存储元素.元素储存在底层集合或者根据需要产生.Stream操作符不会改变源对象.相反,它会返回一个持有结果的新的Stream.3 ...
- Java学习之==>Java8 新特性详解
一.简介 Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.Java 8是 Java 自 Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库. ...
- java8 快速实现List转map 、分组、过滤等操作
利用java8新特性,可以用简洁高效的代码来实现一些数据处理. 定义1个Apple对象: public class Apple { private Integer id; private String ...
- Java8 stream 中利用 groupingBy 进行多字段分组求和
Java8的groupingBy实现集合的分组,类似Mysql的group by分组功能,注意得到的是一个map 对集合按照单个属性分组 case1: List<String> items ...
- java8 按两个属性分组,并返回扁平List; stream排序
--------------- java8 按两个属性分组,并返回扁平List /** * 设置大区小区分组排序 * @param dtoList */ private List<Perform ...
- java8学习之收集器用法详解与多级分组和分区
收集器用法详解: 在上次已经系统的阅读了Collector收集器的Javadoc对它已经有一个比较详细的认知了,但是!!!它毕境是只是一个接口,要使用的话还得用它的实现类,所以在Java8中有它进行了 ...
- java8学习之Stream分组与分区详解
Stream应用: 继续举例来操练Stream,对于下面这两个集合: 需求是:将这两个集合组合起来,形成对各自人员打招呼的结果,输出的结果如: "Hi zhangsan".&quo ...
- java8 按对象属性值分组
Map<String, List<User>> userMap = list.stream().collect(Collectors.groupingBy(User::getG ...
随机推荐
- sqoop上传数据到hdfs,并用hive管理数据。
sqoop导入mysql数据表到HDFS中sqoop import --connect jdbc:mysql://master:3306/test --username root --password ...
- tk简单使用
# 引入tk import tkinter as tk class UserLogin(object): """ 初始化窗口 """ def ...
- Hive 严格模式与非严格模式
1. hive严格模式 hive提供了一个严格模式,可以防止用户执行那些可能产生意想不到的不好的效果的查询.即某些查询在严格模式下无法执行.通过设置hive.mapred.mode的值为strict, ...
- Java生成PDF文档(表格、列表、添加图片等)
需要的两个包及下载地址: (1)iText.jar:http://download.csdn.net/source/296416 (2)iTextAsian.jar(用来进行中文的转换):http:/ ...
- spring-jar包及架构介绍
查看博客: http://www.cnblogs.com/ywlaker/p/6136625.html
- VTC Fsync_out信号分析
VTC Fsync_out信号分析 1.GUI配置 Vertical position的值289是根据Frame/Field 0 Vertical settings一栏中sync start来设置的. ...
- Cygwin使用3-修改Cygwin的默认启动路径
原先启动Cygwin后,pwd显示: C:\Documents and Settings\Administrator@IBM-EBDC0EAC4B7 ~$ pwdC:\Documents and Se ...
- WIN10 网速问题,边下载 边逛论坛 电脑 有点卡
引用:https://www.chiphell.com/forum.php?mod=viewthread&tid=1961836&extra=page%3D1&mobile=2 ...
- WPF实现打印用户界面功能2
帮助类: using System; using System.Drawing.Printing; using System.IO; using System.Windows.Forms; names ...
- 原来 php 中的 json_encode() 只支持utf-8.不支持gbk啊
原文地址:在gbk/gb2312编码中如何使用json_encode/json_decode