如何根据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)?相关推荐

  1. java字符串字典排序_java实现对map的字典序排序操作示例

    本文实例讲述了java实现对map的字典序排序操作.分享给大家供大家参考,具体如下: java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t ...

  2. Asp代码转换java代码器_asp下实现对HTML代码进行转换的函数

    asp下实现对HTML代码进行转换的函数 更新时间:2007年08月08日 12:08:49   作者: '****************************** '函数:HTMLEncode( ...

  3. Java 提取 PPT 中 SmartArt 图形的文本内容

    (使用工具: Free Spire.Presentation for Java) JAR包导入 方法一:下载Free Spire.Presentation for Java包并解压缩,然后将lib文件 ...

  4. java正则匹配公司名称_【已解决】Java的正则表达式java.util.regex中的命名的组(named group)...

    [问题] 在折腾: 的过程中,需要用到命名的组,另外还用到替换中的引用命名的组. 想要搞懂如何使用. [解决过程] 1. 最开始是参考,官网手册: 中,并没有看到,如何使用命名的组. 2.参考: 得知 ...

  5. java sql语句逗号_Java 实现对Sql语句解析

    最近要实现一个简易的数据库系统,除了要考虑如何高效的存储和访问数据,建立表关系外,对基本的sql查询语句要做一个解析,这样我们才能知道用户的查询要求:因为时间关系,参考了已有的一篇文章,并对其实现中出 ...

  6. java读取bmp图像_JAVA实现对BMP图片的读取

    BMP图片格式,是windows自带的一个图片格式,(*bmp),在windows的系统下都支持这种格式,bmp格式与设备无关的位图(DIB)格式,BMP简称位图,BMP的原始数据是没有经过压缩处理的 ...

  7. Java使用PDFBox开发包实现对PDF文档内容编辑与保存

    pdfbox开发包下载地址:http://pdfbox.apache.org/ 程序实现了PDF文档的创建,读入,与修改PDF内容并保存. 可能有个前提,PDF文档不是加密的,如果加密怎么办,我没研究 ...

  8. 【java】用javaSE来实现对mysql数据库的增删改查

    主程序: import Bean.StudentBean; import Impl.StudentImpl; public class T7 {     public static void main ...

  9. java 截取字符串中的指定字符的内容(正则匹配)

       业务要求:截取传过来的字符串,截取出现的<small hidden="">2</small>中间的值,进行数据库更新操作. //需要处理的字符串(截取 ...

  10. 实现对gridview删除行时弹出确认对话框的四种方法

    实现对gridview删除行时弹出确认对话框的四种方法 在.net2.0中,实现对gridview删除行时弹出确认对话框的四种方法 1,GridView中如何使用CommandField删除时,弹出确 ...

最新文章

  1. 运用jieba库分词
  2. 太牛了!22岁本科生Github上开源的后台管理系统,太实用(附源码)!
  3. JavaScript 解决浮点值运算Bug
  4. SAP CRM的WITH_INDOBJECTS搜索参数问题
  5. 三分钟让面试官满意系列 - Bagging和Boosting 的联系及区别
  6. java 货币格式 转换_java 货币 转换
  7. 运放为什么可以虚短虚断
  8. 看_那人好像一个产品狗_对_这就是产品狗
  9. 计算机电脑怎么开热点,电脑怎么设置wifi热点共享
  10. Python模拟QQ群发邮件
  11. Bigemap支持百度地图
  12. 迭代器 iter()函数与next()函数 for...in...循环的本质
  13. ics-07—CTF
  14. tecplot合速度
  15. GAIL(Imitating driver behavior with generative adverarial networks)
  16. 韩国大面积断网,电信公司KT承认其配置错误,此前甩锅DDoS攻击
  17. java常见的5个异常_java常见的5种异常举例
  18. Gym - 101981G The 2018 ICPC Asia Nanjing Regional Contest G.Pyramid 找规律
  19. SQL SERVER 解析XML字符串
  20. LTE CSFB测试分析

热门文章

  1. 【字符串】13. 罗马数字转整数
  2. ai中如何插入签名_如何在PDF文件中插入手写签名?手把手教会你,轻松设置签名...
  3. CUDA学习(十一) 利用npp做图像处理
  4. IP 地址、网络号和主机号、ABC三类、ip地址可分配问题、子网掩码、子网划分
  5. 现在主流开源分布式系统架构都有哪些?
  6. android youtube免谷歌,youtube免谷歌框架
  7. 草图大师su安装程序无法进行的解决办法。
  8. 了解信息安全管理体系的基本思路
  9. java可视化tiff转pdf工具
  10. linux Redis下载及安装