集合处理工具

Posted user_孙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合处理工具相关的知识,希望对你有一定的参考价值。

 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 <T,E> HashMap<T,List<E>> groupByProperty(List<E> ls,String propertyName) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException{
12         HashMap<T,List<E>> result=new HashMap<T,List<E>>();
13         List<E> list=null;
14         for (Iterator<E> 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<E>) result.get(proValue);
21             }else{
22                 list=new ArrayList<E>();
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     }

 

以上是关于集合处理工具的主要内容,如果未能解决你的问题,请参考以下文章

laravel特殊功能代码片段集合

Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段

音频处理Melodyne 选择工具使用 ( 主工具简介 | 修改音高 | 自动吸附 | 音符长度修改 | 长度自动吸附 | 设置音符分离线 | 设置片段分离线 )

JS的数据类型判断函数数组对象结构处理日期转换函数,浏览器类型判断函数合集

金蝶handler中 collection 代码片段理解

Alfred常见使用