java group by_Java中如何实现对List内容分组(group by)?
如何根据List中的对象属性来实现分组,比如:按照客户的年龄段将客户分成多个组,参考以下示例代码:
//定义客户Customer类
static class Customer {
int age;
int gender;
String name;
public Customer(String name, int gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
public int getAge() {
return age;
}
public int getGender() {
return gender;
}
public String getName() {
return name;
}
public String toString() {
return name;
}
}
public static void main(String[] args) {
List customers = new ArrayList<>();
customers.add(new Customer("Jordan", 1, 50));
customers.add(new Customer("Jessica", 2, 21));
customers.add(new Customer("Woods", 1, 48));
customers.add(new Customer("Messi", 1, 33));
customers.add(new Customer("Ronaldo", 1, 35));
customers.add(new Customer("Pedri", 1, 18));
// 按照年龄段分组
Map> result = customers.stream().collect(Collectors.groupingBy(c -> {
int age = c.getAge();
if (age <= 10) {
return "0-10";
} else if (age <= 20) {
return "10-20";
} else if (age <= 30) {
return "20-30";
} else if (age <= 40) {
return "30-40";
} else if (age <= 50) {
return "40-50";
}
//分组逻辑
return "50+";
}, TreeMap::new, Collectors.toList()));
System.out.println(result);
//输出结果:{10-20=[Pedri], 20-30=[Jessica], 30-40=[Messi, Ronaldo], 40-50=[Jordan, Woods]}
}
这样就轻松实现了客户按年龄段分组。
java group by_Java中如何实现对List内容分组(group by)?相关推荐
- java字符串字典排序_java实现对map的字典序排序操作示例
本文实例讲述了java实现对map的字典序排序操作.分享给大家供大家参考,具体如下: java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t ...
- Asp代码转换java代码器_asp下实现对HTML代码进行转换的函数
asp下实现对HTML代码进行转换的函数 更新时间:2007年08月08日 12:08:49 作者: '****************************** '函数:HTMLEncode( ...
- Java 提取 PPT 中 SmartArt 图形的文本内容
(使用工具: Free Spire.Presentation for Java) JAR包导入 方法一:下载Free Spire.Presentation for Java包并解压缩,然后将lib文件 ...
- java正则匹配公司名称_【已解决】Java的正则表达式java.util.regex中的命名的组(named group)...
[问题] 在折腾: 的过程中,需要用到命名的组,另外还用到替换中的引用命名的组. 想要搞懂如何使用. [解决过程] 1. 最开始是参考,官网手册: 中,并没有看到,如何使用命名的组. 2.参考: 得知 ...
- java sql语句逗号_Java 实现对Sql语句解析
最近要实现一个简易的数据库系统,除了要考虑如何高效的存储和访问数据,建立表关系外,对基本的sql查询语句要做一个解析,这样我们才能知道用户的查询要求:因为时间关系,参考了已有的一篇文章,并对其实现中出 ...
- java读取bmp图像_JAVA实现对BMP图片的读取
BMP图片格式,是windows自带的一个图片格式,(*bmp),在windows的系统下都支持这种格式,bmp格式与设备无关的位图(DIB)格式,BMP简称位图,BMP的原始数据是没有经过压缩处理的 ...
- Java使用PDFBox开发包实现对PDF文档内容编辑与保存
pdfbox开发包下载地址:http://pdfbox.apache.org/ 程序实现了PDF文档的创建,读入,与修改PDF内容并保存. 可能有个前提,PDF文档不是加密的,如果加密怎么办,我没研究 ...
- 【java】用javaSE来实现对mysql数据库的增删改查
主程序: import Bean.StudentBean; import Impl.StudentImpl; public class T7 { public static void main ...
- java 截取字符串中的指定字符的内容(正则匹配)
业务要求:截取传过来的字符串,截取出现的<small hidden="">2</small>中间的值,进行数据库更新操作. //需要处理的字符串(截取 ...
- 实现对gridview删除行时弹出确认对话框的四种方法
实现对gridview删除行时弹出确认对话框的四种方法 在.net2.0中,实现对gridview删除行时弹出确认对话框的四种方法 1,GridView中如何使用CommandField删除时,弹出确 ...
最新文章
- 运用jieba库分词
- 太牛了!22岁本科生Github上开源的后台管理系统,太实用(附源码)!
- JavaScript 解决浮点值运算Bug
- SAP CRM的WITH_INDOBJECTS搜索参数问题
- 三分钟让面试官满意系列 - Bagging和Boosting 的联系及区别
- java 货币格式 转换_java 货币 转换
- 运放为什么可以虚短虚断
- 看_那人好像一个产品狗_对_这就是产品狗
- 计算机电脑怎么开热点,电脑怎么设置wifi热点共享
- Python模拟QQ群发邮件
- Bigemap支持百度地图
- 迭代器 iter()函数与next()函数 for...in...循环的本质
- ics-07—CTF
- tecplot合速度
- GAIL(Imitating driver behavior with generative adverarial networks)
- 韩国大面积断网,电信公司KT承认其配置错误,此前甩锅DDoS攻击
- java常见的5个异常_java常见的5种异常举例
- Gym - 101981G The 2018 ICPC Asia Nanjing Regional Contest G.Pyramid 找规律
- SQL SERVER 解析XML字符串
- LTE CSFB测试分析