JAVA中list,set,数组之间的转换详解

news/2024/7/8 4:34:27

JAVA的list,set,数组之间的转换,主要是使用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));


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

相关文章

CuteEditor6.0使用配置心得体会

CuteEditor是一款功能非常强大,支持图片上传、文件下载和word类似的文字编辑器。并且Vs2003和Vs2005都可以适用。对于新闻发布系统和博客之类的系统,是非常的方便的。对一个刚接触这款编辑器的朋友来说或许会遇到和我一样的许多问题,现在我就…

rsync-服务器之间备份

需求:需要把A服务器上的某些数据定期备份到B服务器中A服务器:#yum install -y rsync#rpm -qa | grep rsync#vim /etc/xinetd.d/rsyncyes改成no ,开启 rsync#chkconfig rsync on #chkconfig --list rsync生成配置文件#vim /etc/rsyncd.…

基线的定义

基线(Baseline)说起. 基线是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础.所以,当基线形成后,项目负责SCM的人需要通知相关人员基线已经形成,并且哪儿可以找到这基线了的版本.这个过程可被认为内部的发布.至于对外的正式发布,更是应当从基线了的版本中发布…

经纬度编码转换

众所周知,包括LT在内的所有导航软件的地图,就是经纬度坐标的点的集合。然后,与GPS的经纬度信号匹配,才能应用成为导航。但是由于国家政策原因,LT不能直接用经纬度定位一个目标。为此,LT用了一种变通的方法&…

MySQL锁表解决方法(转)

MySQL锁表解决方法 一、我的处理过程 1、查进程,主要是查找被锁表的那个进程的ID SHOW PROCESSLIST; 2、kill掉锁表的进程ID KILL 10866;//后面的数字即时进程的ID 网上找了些资料,了解了一下,先分享一下: 二、mysql的锁表问题 …

关于准系统,镭波,地球人等等其他牌子的机器介绍和外星人的比较

2019独角兽企业重金招聘Python工程师标准>>> 现在越来越多的人开始关注alienware,也许是因为他无与伦比的个性外形,花哨浮夸的弥红灯,又或者是君临天下,不可一世的彪悍性能。当然由于alienware过高的价格,导…

grep sed awk find的用法归纳

0 正则表达式的基础 ^ 行首标识 $ 篇尾标识或行尾标识 . 代表任意一个字符 ? 代表前趋字符的一次出现 * 代表0个或多个前趋字符出现 [1-9] 代表一个属于1-9的字符 [^1-9] 代表一个不…

ViewStack 的自动创建子项策略 creationPolicy

和UIComponent的states不同,ViewStack默认的创建策略creationPolicy“auto”,并非跳转到某一页后,才创建INavigatorContent子项。实际上,在ViewStack 被addChild到舞台显示列表,initialize方法被调用时,Vie…