List、Set、数组之间的转换

news/2024/7/10 23:45:30 标签: Apache, JDK, Blog, HTML

原文地址: http://hi.baidu.com/%B0%AE%C7%E9%D1%CC%BB%A8/blog/item/b5e7fbf9efaa7b5d242df209.html

 

数组转Collection

使用Apache Jakarta Commons Collections:

  1. import org.apache.commons.collections.CollectionUtils;   
  2.   
  3. String[] strArray = {"aaa", "bbb", "ccc"};   
  4. List strList = new ArrayList();   
  5. Set strSet = new HashSet();   
  6. CollectionUtils.addAll(strList, strArray);   
  7. CollectionUtils.addAll(strSet, strArray);  

CollectionUtils.addAll()方法的实现很简单,只是循环使用了Collection的add()方法而已。

如果只是想将数组转换成List,可以用JDK中的java.util.Arrays类:

  1. import java.util.Arrays;   
  2.   
  3. String[] strArray = {"aaa", "bbb", "ccc"};   
  4. List strList = Arrays.asList(strArray);  

不过Arrays.asList()方法返回的List不能add对象,因为该方法的实现是使用参数引用的数组的大小来new的一个ArrayList。

 

Collection转数组

直接使用Collection的toArray()方法,该方法有两个重载版本:

  1. Object[] toArray();   
  2.   
  3. 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));


http://www.niftyadmin.cn/n/1040060.html

相关文章

关键段,事件,互斥量,信号量的“遗弃”问题

本文转自:http://blog.csdn.net/morewindows/article/details/7823572 秒杀多线程第十五篇 关键段,事件,互斥量,信号量的“遗弃”问题 在《秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量》中对经典多线程同步互斥问题进行了回顾和总结,…

Ext中动态改变控件的readOnly属性

Ext 控件的readOnly属性是可以在控件初始化过程中配置的, 但是如果希望在运行时动态更改其readOnly属性怎么办, 例如 textField 控件,Ext2.x 的 API 上 它的方法有setDisabled( Boolean disabled ) : void方法,可以动态更改控件的…

无名结构体

本文转自:http://blog.csdn.net/zhangjinqing1234/article/details/7195591 C中允许无名结构体的存在,例如下面的方式: struct {int a;int d;} foo; 在使用时一定要采用上面的方式来定义变量,即在定义无名结构体是即定义对象&…

java顺序结构(下标操作插入删除查找时的边界问题)

1、顺序表插入时的边界 if (index < 0 || index > size) 应该为index > size。不能是index > size - 1。原因有2&#xff1a; 当顺序表中无元素时&#xff0c;index与size都为0&#xff0c;若此时index > size - 1,则0 > 0 - 1,进入异常&#xff0c;不能正常…

转:用Javascript来关闭IE浏览器和FireFox浏览器

原文地址:http://hi.baidu.com/suen_%CB%EF/blog/item/bedca57f8932480d28388a49.html众所周知,在javascript中window.close()是用来关闭窗口的&#xff0c;而且ie和firefox都是支持的。为了实现用户对浏览器的绝对控制&#xff0c;ie中用close关闭非open打开的窗口时会弹出一个…

NUMA与英特尔下一代Xeon处理器学习心得

本文转自&#xff1a;http://software.intel.com/zh-cn/blogs/2008/11/24/numaxeon1/ 作为一名工程师&#xff0c;一名做技术的工程师&#xff0c;NUMA也是我的近期工作重点之一。在工作时间&#xff0c;在茶余饭后&#xff0c;也看了些NUMA的资料&#xff0c;学习了英特尔下一…

“深入浅出”是什么导致不能以操作系统用户身份连接到数据库

SQL> conn / as sysdbaERROR:ORA-01031: insufficient privileges 我一直没明白&#xff0c; 我前两天还可以的呀&#xff01; 后来突然毛塞顿开&#xff0c;原来是因为&#xff0c;我虽然是Administrator,但是以前创建数据库的时候&#xff0c;我是以另外一个用户的身份去创…

CSS实现图片与文本的居中对齐的常见方式

1.为图片和文本都设置vertical-align&#xff1a;middle<!DOCTYPE <!DOCTYPE html><html><head> <meta charset"utf-8" /> <meta http-equiv"X-UA-Compatible" content"IEedge"> <title>Page Title</…