集合处理工具
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 }
以上是关于集合处理工具的主要内容,如果未能解决你的问题,请参考以下文章
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段
音频处理Melodyne 选择工具使用 ( 主工具简介 | 修改音高 | 自动吸附 | 音符长度修改 | 长度自动吸附 | 设置音符分离线 | 设置片段分离线 )