java List按照对象的属性进行分组

一、问题背景

在java的开发过程中,我们往往也需要用对象进行分组进行处理,如何对List进行分组呢?以下我们简单高效的实现分组

二、问题解决

1   //以下WarehouseDeliveryTimeVO的列表中对其属性logisticsModel(物流模式)进行分组,new String[]{}可以按照多个属性进行分组,allTimeVO为其对象列表
2   Map<String,List<WarehouseDeliveryTimeVO>> logisticsModelGoodsMap = Hashlize.hashlizeObjects( allTimeVO,new HashKeyAdapter(new String[]{"logisticsModel"}));
3       //通过迭代可以获取分组后的结果
4         for(String key : logisticsModelGoodsMap.keySet()){
5              List<WarehouseDeliveryTimeVO> timeVO = logisticsModelGoodsMap.get(key);
6           //以下是获取分组后列表的其他业务操作
7              //checkTimeCross(timeVO);
8          }

当然我们也可以按照多个对象的属性进行分组,方法就是在  new String[]{"属性一","属性二"},即可按照所设置的两个属性进行分组,简单,高效。

原文地址:https://www.cnblogs.com/zluckiy/p/12571715.html

时间: 2024-10-15 22:53:23

java List按照对象的属性进行分组的相关文章

java反射获取对象的属性值和对象属性中的子属性值

近段时间在做web项目,前端使用的是jQuery EasyUI. 为方便需要,准备做一个前端通用的Datagird导出Excel功能,博主也考虑过思路和最终功能,1.前端选中行导出:2.当前页导出:3.当前过滤条件导出. 想偷懒在网上找找已有的代码改改,发现大部分只能满足个别需求,使用JS导出只能满足前端,使用代码才能实现3功能. ...... 好了,说了一堆废话,回归正题,本文是在做通用自定义字段导出时所需要,根据属性名去查找对象和子对象,找到对应属性值,抓取回来放到Excel中. 直接上代码

JAVA实现根据对象的属性排序--BeanComparator,FixedOrderComparator,ComparatorChain

最近看到这样一段排序的代码. public static List<?> getBrandOrderList(List<?> list, String Field) { String[] brandArr = {"7天", "7天优品", "IU", "派", "麗枫", "喆啡", "希岸", "欢朋", "潮漫

java list分组 list里面分装的都是对象 按照对象的属性来分组

http://www.iteye.com/problems/86110 —————————————————————————————————————————————————————————— List<Bill> list = billFacade.findBillByUserId(userInfo); Map<String, Float> group = new HashMap<String, Float>(); String type = null; Float mo

java集合中对象某属性比较排序Comparable与Comparator

要对集合中的对象的某属性进行排序有两种方式. a. 一种是要排序对象类实现comparable接口的compareTo方法:然后把对象放入list:然后调用Collections.sort(list);b. 一种是不对要排序对象类做任何改动,创建Comparator接口的实现类C:然后 把对象放入list:然后调用Collections.sort(list, C); a.eg ---------------------------------- 1 public class User imple

java中判断对象中属性值是否为空的函数

public boolean checkObjFieldIsNull(Object obj) throws IllegalAccessException { boolean flag = false; for(Field f : obj.getClass().getDeclaredFields()){ f.setAccessible(true); log.info(f.getName()); if(f.get(obj) == null){ flag = true; return flag; }

Java中Math对象的属性与方法

Math.sqrt() ——————>计算平方根Math.cbrt()————————>计算立方根Math.pow(a, b)——————————>计算a的b次方Math.max( , )——————————>计算两个参数最大值Math.min( , )————————————>计算两个参数最小值Math.abs()————————>求绝对值Math.ceil()——————————>向上取整.如12.1----13Math.floor()——————————&g

实现对List里面的对象元素,以某个属性来分组

实现对List里面的对象元素,以某个属性来分组. 代码实现: import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class ListGroupTest { static List<User> us

[原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】

方法1:通过get()方法获取属性值 package com.sxd.test.controller; public class FirstCa{ private Integer num; private String name; private Boolean flag; public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String getNam