zoukankan      html  css  js  c++  java
  • ArrayList和Array之间的转换

    1. ArrayListArray

      (1):使用ArrayListtoArray方法。

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

          /**

           * 使用了ArrayListtoArray方法 ,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),成功

      /**

           * 使用了ArrayListtoArray方法 , 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. ArrayArrayList

      (1):使用ArraysasList方法。

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

      /**

      * 使用ArraysasList方法,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),不成功

      /**

           * 使用ArraysasList方法,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[],这样内容就成了对象数组(即引用类型)。

      /**

           * 使用ArraysasList方法,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

      1

      2

      3

       

       

      参考文献:

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

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

  • 相关阅读:
    Linux内核RPC请求过程
    二分图
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 文本加密
    Java实现 蓝桥杯 算法提高 文本加密
    Java蓝桥杯 算法提高 九宫格
    Java蓝桥杯 算法提高 九宫格
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/5640626.html
Copyright © 2011-2022 走看看