博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集合处理工具
阅读量:6229 次
发布时间:2019-06-21

本文共 1622 字,大约阅读时间需要 5 分钟。

1 /** 2      * 按给定对象属性为参数ls分组整理 3      * @param ls 集合 4      * @param propertyName 对象中的某个属性 5      * @return HashMap(key=propertyValue,Value=ArrayList) 6      * @throws IllegalAccessException 7      * @throws InvocationTargetException 8      * @throws NoSuchMethodException 9      */10     @SuppressWarnings("unchecked")11     public static 
HashMap
> groupByProperty(List
ls,String propertyName) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException{12 HashMap
> result=new HashMap
>();13 List
list=null;14 for (Iterator
iter = ls.iterator(); iter.hasNext();) {15 E element = iter.next();16 T proValue=(T)PropertyUtils.getProperty(element, propertyName);17 if(proValue==null)18 throw new NullPointerException("propertyValue is null"); 19 if(result.containsKey(proValue)){20 list=(List
) result.get(proValue);21 }else{22 list=new ArrayList
();23 result.put(proValue, list);24 }25 list.add(element);26 }27 return result;28 }

 

1     /** 2      * 提取集合中的对象的属性,组合成List. 3      *  4      * @param collection 来源集合. 5      * @param propertyName 要提取的属性名. 6      */ 7     @SuppressWarnings({ "unchecked", "rawtypes" }) 8     public static List fetchElementPropertyToList(final Collection collection, final String propertyName) throws Exception {10         List list = new ArrayList();11         for (Object obj : collection) {12             list.add(PropertyUtils.getProperty(obj, propertyName));13         }14 15         return list;16     }

 

转载于:https://www.cnblogs.com/sun-space/p/5562017.html

你可能感兴趣的文章
Sketch的过去现在和未来
查看>>
TableEdit UI_10
查看>>
[译] 通知是一种「暗模式」吗?
查看>>
企业在云迁移过程中需解决常见的IP地址问题
查看>>
AWS 张侠:为企业创新和转型提供助力
查看>>
阿里云王坚:运营才能缔造真正的云计算
查看>>
远程数据库的表超过20个索引的影响
查看>>
__attribute__ ((packed)) 的作用
查看>>
【Django】CentOS7安装Django笔记
查看>>
《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.71. 再次清理无用内容...
查看>>
趋势科技CEO陈怡桦:敌人是谁?
查看>>
zabbix漏洞利用 Zabbix Server远程代码执行漏洞CVE-2017-2824 2.4.X均受影响
查看>>
带项目体会 合格的Leader 应该具备什么特质?
查看>>
Black Hat|黑客演示如何向卫星网络发送篡改信号
查看>>
揭秘中国数据库研究鲜为人知的那些事
查看>>
新年伊始你需要做的10个管理任务
查看>>
【安全课堂】七种武器把黑客拒之门外
查看>>
LaCie Mirror:科技与设计的交融
查看>>
很有意思,如何把代码看成一个犯罪现场
查看>>
10G光纤来了,收发器和线缆的变化有哪些?
查看>>