CollectionUtils 转换数组为集合对象

来源:互联网 发布:远程连接软件 编辑:程序博客网 时间:2024/06/05 16:50

  •   数组转Collection   
  •   
  • 使用Apache Jakarta Commons Collections:   
  •   
  •   
  • import org.apache.commons.collections.CollectionUtils;       
  •       
  • String[] strArray = {"aaa", "bbb", "ccc"};       
  • List strList = new ArrayList();       
  • Set strSet = new HashSet();       
  • CollectionUtils.addAll(strList, strArray);       
  • CollectionUtils.addAll(strSet, strArray);      
  •   
  • CollectionUtils.addAll()方法的实现很简单,只是循环使用了Collection的add()方法而已。   
  •   
  • 如果只是想将数组转换成List,可以用JDK中的java.util.Arrays类:   
  •   
  •   
  • import java.util.Arrays;       
  •       
  • String[] strArray = {"aaa", "bbb", "ccc"};       
  • List strList = Arrays.asList(strArray);      
  •   
  • 不过Arrays.asList()方法返回的List不能add对象,因为该方法的实现是使用参数引用的数组的大小来new的一个ArrayList。   
  •   
  •   
  • ★ Collection转数组   
  •   
  • 直接使用Collection的toArray()方法,该方法有两个重载版本:   
  •   
  • Object[] toArray();       
  •       
  • T[] toArray(T[] a);      
  •   
  •   
  • ★ Map转Collection   
  •   
  • 直接使用Map的values()方法。   
  •   
  •   
  • ★ List和Set转换   
  •   
  • List list = new ArrayList(new Hashset());// Fixed-size list    
  • List list = Arrays.asList(array);// Growable    
  • list list = new LinkedList(Arrays.asList(array));// Duplicate elements are discarded    
  • Set set = new HashSet(Arrays.asList(array));