集合处理工具

 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     }
时间: 2024-12-16 13:55:08

集合处理工具的相关文章

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

集合框架工具类Collections

* Collections演示. * 1,用于操作集合的工具类. * 2,提供了很多的静态方法. * * 比如对list集合排序,二分查找,位置置换. * 对排序的元素进行顺序的逆转.reverseOrder * 还可以获取集合的最大值和最小值. * 最牛叉的是将非同步的集合转成同步的集合 synchronizedXXX package cn.itcast.p4.collections;   import java.util.ArrayList; import java.util.Collect

集合的工具类Collections

Collections 是集合的工具类, 里面定义了很多静态方法 binarySearch(List,Object) 使用二分法查找集合中的元素,如果找到就返回该元素在集合中的下标,如果没有找到就返回负数 copy(List,List) 将一个集合中的所有元素复制到另一个集合. disjoint(Collection,Collection) 两个集合中如果没有相同的元素返回true min,max(Collection) 找出集合中最小与最大的元素,规则由实现Comparable接口中的comp

JAVA学习第四十四课 — 集合框架工具类(二)

Collections操控集合的工具类,Arrays操控数组的工具类 Arrays中方法大多是重载 重点掌握asList();将数组转为集合 static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表. import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { String[]

跟王老师学集合(十):操作集合的工具类:Collections

操作集合的工具类:Collections 主讲人:王少华  QQ群号:483773664 Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了将集合元素实现同步控制等方法. 一.排序操作 (一).方法 Collections提供了如下几个方法用于对List集合元素进行排序 static void reverse(List list):反转指定List集合中元素的顺序 static void shu

黑马程序员——黑马基础——Map,集合框架工具类Conlections和Arrays

黑马程序员--黑马基础--Map,集合框架工具类Conlections和Arrays ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一,Map集合 Map<K,V>集合是一个接口,和List集合及Set集合不同的是,它是双列集合,并且可以给对象加上名字,即键(Key). 特点: 1)该集合存储键值对,一对一对往里存 2)要保证键的唯一性. Map集合的子类 Map |--Hashtable:底层是哈希表数据结构,不可以存入null键nu

集合的工具类

一.集合的工具类集合的工具类有:Arrays 和Collection 二.集合的工具类使用1.Arrays用法例子:利用Arrays.asList()可以将数组转换为集合 String[] str={"A","B","C","A","B"}; for(String s : str){ System.out.println(s); } List list=Arrays.asList(str); //将数组转换

Collections工具类:操作集合的工具类

Collections工具类:操作集合的工具类 Java提供了一个操作Set List Map等集合的工具类:Collections,该工具类提供了大量方法对集合元素进行排序.查询和修改等操作.还提供了将集合对象设置为不可变,对集合对象实现同步控制等方法. 排序操作 ArrayList arrayList = new ArrayList(); arrayList.add(2); arrayList.add(-1); arrayList.add(4); arrayList.add(6); Syst

JAVA 16(集合框架工具类)

Collections :工具类,专门对集合进行操作的.所有方法都是静态的,构造方法是私有的,不可以创建对象,通过Collections.xxx();调用工具类中的方法. 1, Collections.sort(); //对集合进行排序,List可以,Set不可以,因为有自动排序的TreeSet,其实是调用对象的Compare方法,如果想要排序自定义对象, sort后面要传入比较器. Collections.sort(list,new Strlen()); 下面有举例说明 2, Collecti

java集合框架--工具类Collections

1.Collections概述 是针对集合操作的工具类. 2.Collection和Collections的区别? Collection:是单列集合的顶层接口,而Collections是针对集合操作的工具类. Collection有子接口List和Set,而Collections有对集合进行排序和二分查找的方法. 3.Collections工具类的功能 public static <T> void sort(List<T> list):默认情况下是对集合的自然排序. public