1. ArrayList转Array

    (1):使用ArrayList的toArray方法。

        1)当ArrayList中存放的是引用类型时(例如String),成功

        /**

         * 使用了ArrayList的toArray方法 ,ArrayList里存放的是String(引用类型)

         */

        @Test

        public
    void list2Array1() {

            ArrayList<String> arrayList = new ArrayList<String>();

            arrayList.add("1");

            arrayList.add("2");

            arrayList.add("3");

     

            Object[] array = arrayList.toArray(new String[3]);

     

            for (Object o : array) {

                System.out.println(o);

            }

        }

    输出为:

    [1, 2, 3]

     

        2) 当ArrayList中存放的是基本数据类型时(例如int),成功

    /**

         * 使用了ArrayList的toArray方法 , ArrayList里存放的是int(基本数据类型)

         */

        @Test

        public
    void list2Array2() {

            ArrayList<Integer> arrayList = new ArrayList<Integer>();

            arrayList.add(1);

            arrayList.add(2);

            arrayList.add(3);

     

            Object[] array = arrayList.toArray();

     

            System.out.println(Arrays.toString(array));

        }

    输出为:

    [1, 2, 3]

  2. Array转ArrayList

    (1):使用Arrays的asList方法。

    1)当Array中存放的是引用类型时(例如String),成功

    /**

    * 使用Arrays的asList方法,Array中存放的String(引用类型)

    */

    @Test

    public
    void array2List1() {

        String[] stringArray = new String[] { "1", "2", "3" };

        List<String> list = Arrays.asList(stringArray);

     

        System.out.println(list);

    }

    输出为:

    [1, 2, 3]

     

        2) 当Array中存放的是基本数据类型时(例如int),不成功

    /**

         * 使用Arrays的asList方法,Array中存放int(基本类型)

         */

        @Test

        public
    void array2List2() {

            int[] intArray = new
    int[] { 1, 2, 3 };

            List<int[]> intList = Arrays.asList(intArray);

     

            System.out.println(intList.size());

            for (int[] is : intList) {

                System.out.println(Arrays.toString(is));

            }

        }

    输出为:

    [[I@14514713]

    List的长度为 : 1

    [1, 2, 3]

     

        这个问题解决的方法就是将int[]换成Integer[],这样内容就成了对象数组(即引用类型)。

    /**

         * 使用Arrays的asList方法,Array中存放int(基本类型)

         */

        @Test

        public
    void array2List3() {

            Integer[] integerArray = { 1, 2, 3 };

            List<Integer> intList = Arrays.asList(integerArray);

     

            System.out.println(intList);

            System.out.println("List的长度为 : " + intList.size());

            for (Integer is : intList) {

                System.out.println(is);

            }

        }

    输出为:

    [1, 2, 3]

    List的长度为 : 3

     

     

    参考文献:

    java中数组与List相互转换的方法

    基本数据类型数组转换列表显的有些力不从心

ArrayList和Array之间的转换的更多相关文章

  1. ArrayList和List之间的转换

    开发中不免碰到List与数组类型之间的相互转换,举一个简单的例子: package test.test1; import java.util.ArrayList; import java.util.L ...

  2. Java-Collection、Map及Array之间的转换

    1 List -> Map 设个User类: public class User { private String userName; private String userId; privat ...

  3. Java-Collection、Map和Array之间的转换

    1 List -> Map 设个User类: public class User { private String userName; private String userId; privat ...

  4. C#中ArrayList 、Array与、string、string[]数组的相关转换

    一.ArrayList 与 string.string[]数组的转换 1.ArrayList 转换为 string[] : ArrayList list = new ArrayList(); list ...

  5. 37.Activity之间的转换以及数据的传递(Intent)学习

      Intent简介:                                                                                在一个Androi ...

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

    JAVA的list,set,数组之间的转换,主要是使用Apache Jakarta Commons Collections,具体的方法如下:import org.apache.commons.coll ...

  7. Java 集合 集合与数组之间的转换

    Java 集合 集合与数组之间的转换 @author ixenos 数组转集合 Arrays.asList(T... a) 先给结论:用 Arrays.asList(T... a) 将数组转换成集合 ...

  8. java中 列表,集合,数组之间的转换

    java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...

  9. JSON字符串和JS对象之间的转换

    JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象  JSON字符串 str JSON.parse(str) eval(str) eva ...

随机推荐

  1. IOS Note - View Controller(视图控制器)

    Application Delegate(应用程序委托) Application Name: SingleView SingleViewAppDelegate.h #import <UIKit/ ...

  2. Codeforces Round #277 (Div. 2) E. LIS of Sequence DP

    E. LIS of Sequence Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/486/pr ...

  3. grunt自动化工具

    Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. 安装 CLI 首先,需要先将Grunt命令行(CLI)安装到全局环境中. npm install - ...

  4. MHA手动切换 原创1(主故障)

    MHA提供了3种方式用于实现故障转移,分别自动故障转移,需要启用MHA监控: 在无监控的情况下的手动故障转移以及基于在线手动切换. 三种方式可以应对MySQL主从故障的任意场景.本文主要描述在无监控的 ...

  5. 进程控制之system函数

    ISO C定义了system函数,但是其操作对系统的依赖性很强.POSIX.1包括了system接口,它扩展了ISO C定义,以描述system在POSIX.1环境中的运行行为. #include & ...

  6. Mac电脑没有声音,苹果电脑没有声音怎么办

      对于使用 Windows 系统电脑的小伙伴来说,可能有很多人会遇到电脑没有声音的问题.苹果 Mac 电脑也会出现没有声音的问题,不过相对较少.这里以我遇到的一个没有声音的问题为例,简单介绍处解决的 ...

  7. centos6安装redis

    1.检查安装依赖程序 yum install gcc-c++ yum install -y tcl yum install wget 2.获取安装文件 wget http://download.red ...

  8. Intellij IDEA 使用Debug模式运行非常慢

    今天在用Debug的时候,idea运行非常慢,搜了一下有人说: 自己检查发现果然如此,把在方法前的断点去掉(移到方法体内),就正常了.

  9. UVA 539 The Settlers of Catan dfs找最长链

    题意:画边求最长链,边不能重复数点可以. 很水,用暴力的dfs即可,因为数据不大. 本来以为可以用floyd进行dp的,后来想想好像不能在有回路上的图跑...于是没去做. #include <c ...

  10. Linux vsftp

    本机环境CentOS-6.6-i386-bin-DVD1.iso安装盘.安装时选择minimal模式.本机IP地址配置为192.168.0.211. 1.查询系统是否已安装了vsftpd [root@ ...