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

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));

时间: 2025-01-02 17:13:14

JAVA中list,set,数组之间的转换详解的相关文章

Java中字符串与日期之间的转换

项目过程中,经常遇到需要字符串格式的日期和Date类型的日期之间的相互转换.使用SimpleDateFormat类,可以方便完成想要的转换. SimpleDateFormat能够实现本地化的时间格式化及转换.从选定一个自定义的模式(pattren)开始,模式由已经定义好的 'A' to 'Z' 及 'a' to 'z'字母组成,也可以在模式中引入文本,但要使用’(单括号)括住.下图就是已经定义好的模式字母表: Letter Date or Time Component Presentation

Java中字节与对象之间的转换

近期公司里面用到了消息队列,而正如我们知道的是消息队列之间的是通过二进制形式的.以下就分享一下java中字节与对象之间的转换. 主要是用到了ByteArrayOutputStream和ObjectOutputStream两个输出流,以及ByteArrayInputStream和ObjectInputStream两个输入流. 废话不多说了,直接上代码吧! /** * @FileName: ByteToObject.java * @Package:com.test * @Description: T

Java 中基本类型和字符串之间的转换

Java 中基本类型和字符串之间的转换 在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换. 其中,基本类型转换为字符串有三种方法: 1. 使用包装类的 toString() 方法 2. 使用String类的 valueOf() 方法 3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串 再来看,将字符串转换成基本类型有两种方法: 1. 调用包装类的 parseXxx 静态方法 2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱 PS:其他基

Java基础(35):装箱与拆箱---Java 中基本类型和包装类之间的转换

基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了. 那什么是装箱和拆箱呢?我们分别来看下 装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱 拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱 下面的代码的例子演示了装箱与拆箱的过程: 结果为: 1 public class HelloWorld { 2 pub

CvMat、Mat、IplImage之间的转换详解及实例

见原博客:http://blog.sina.com.cn/s/blog_74a459380101obhm.html OpenCV学习之CvMat的用法详解及实例 CvMat是OpenCV比较基础的函数.初学者应该掌握并熟练应用.但是我认为计算机专业学习的方法是,不断的总结并且提炼,同时还要做大量的实践,如编码,才能记忆深刻,体会深刻,从而引导自己想更高层次迈进. 1.初始化矩阵: 方式一.逐点赋值式: CvMat* mat = cvCreateMat( 2, 2, CV_64FC1 ); cvZ

经验分享-Java中JDK和JRE区别和误区详解!

1.了解基本的java概念.JDK和JRE基本了解 1.1)Java SE (原J2SE) Java Platform, Standard Edition    -- Java标准平台 1.2) Java EE (原J2EE) Java Platform, Enterprise Edition -- Java企业级应用平台 1.3)Java ME (原J2ME) Java Platform, Micro Edition      -- Java微系统应用平台 ##################

Java中的String,StringBuffer,StringBuilder详解与区别

1.String Java中string类是不可变的,其中在声明的源代码中用的final,所以只能声明一次.所以每次在明面上的改变其实是重新生成一个String对象,指针指向新的String对象.同时,String内部重写的了equal的方法,原本Object的equal就是两个对象相等就可以,但是现在,并不能靠对象相等来判断值相等了,重写的equal中会挨个比较字符,这也就是为啥比较同样内容字符串要用equal的原因. 同时String a="111"+"222"

C++/Java中继承关系引发的调用关系详解

C++: 这里引用到了 http://blog.csdn.net/haoel/article/details/1948051/ 中的内容,还请提前阅读陈大神的这篇博客后在阅读本篇. 覆盖,实现多态的基础,通过虚函数表来实现,下面这个例子便是覆盖 Override 1 #include<iostream> 2 3 using namespace std; 4 5 class Base{ 6 public: 7 Base(){ 8 cout << "Base::Base&qu

java中日期与字符串之间的转换

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; public class DateUtil { private DateUtil() { } /** * 将日期格式转换成一个字符串 * @param d * 被转换的日期对象 * @param format * 传递过来的要被转换的格式 * @return * 转换后的字符串 */ public static Stri