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

 更新时间:2013年09月03日 09:40:03   作者:   我要评论

以下是对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));

相关文章

  • Java从同步容器到并发容器的操作过程

    Java从同步容器到并发容器的操作过程

    这篇文章主要介绍了Java从同步容器到并发容器的操作过程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • 以Java代码为例讲解设计模式中的简单工厂模式

    以Java代码为例讲解设计模式中的简单工厂模式

    简单来说,工厂模式就是按照需求来返回一个类型的对象,使用工厂模式的意义就是,如果对象的实例化与代码依赖太大的话,不方便进行扩展和维护,使用工厂的目的就是使对象的实例化与主程序代码就行解耦.来具体看一下:
    2016-05-05
  • formfile文件上传使用示例

    formfile文件上传使用示例

    这篇文章主要介绍了formfile文件上传使用示例,代码已加注释,需要的朋友可以参考下
    2014-03-03
  • JDBC环境设置(中文详解)

    JDBC环境设置(中文详解)

    要开始使用JDBC设置,按照以下所示的步骤开发JDBC环境。以下内容假设Windows平台上
    2014-03-03
  • java同步之如何写一个锁Lock

    java同步之如何写一个锁Lock

    本篇文章的目标一是自己动手写一个锁,这个锁的功能很简单,能进行正常的加锁、解锁操作。能更好地理解后面章节将要学习的AQS及各种同步器实现的原理。下面小编来和大家一起学习下吧
    2019-05-05
  • java中实现递归计算二进制表示中1的个数

    java中实现递归计算二进制表示中1的个数

    这是一个很有意思的问题,是在面试中特别容易被问到的问题之一,解决这个问题第一想法肯定是一位一位的去判断,是1计数器+1,否则不操作,跳到下一位,十分容易,编程初学者就可以做得到!
    2015-05-05
  • JAVA实现链表面试题

    JAVA实现链表面试题

    这篇文章主要介绍了JAVA相关实现链表的面试题,代码实现非常详细,每一个方法讲解也很到位,特别适合参加Java面试的朋友阅读。
    2015-09-09
  • java实现优酷视频地址解析示例代码分享

    java实现优酷视频地址解析示例代码分享

    最近做了一个在线视频的下载器,需要解析youku的视频,获得真正的视频地址,现在把解析过程记录下来以供参考
    2014-01-01
  • 纯Java代码实现流星划过天空

    纯Java代码实现流星划过天空

    本文给大家介绍纯java代码实现流星划过天空,包括流星个数,流星飞行的速度,色阶,流星大小相关变量设置。对java流星划过天空特效代码感兴趣的朋友可以参考下本文
    2015-10-10
  • java 可重启线程及线程池类的设计(详解)

    java 可重启线程及线程池类的设计(详解)

    下面小编就为大家带来一篇java 可重启线程及线程池类的设计(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论