黑马程序员技术交流社区

标题: 如何将int[]直接转换成ArrayList? [打印本页]

作者: 韦念欣    时间: 2012-6-29 07:22
标题: 如何将int[]直接转换成ArrayList?
如何将int[]直接转换成ArrayList?

假如我的代码中有:
int[] arr = {6,9,4,5,2,0};
如何将arr一次性转换成ArrayList,而不用循环添加?

作者: 李天甲    时间: 2012-6-29 07:58
本帖最后由 李天甲 于 2012-6-29 08:06 编辑

若不是基本类型的数组的话可以用util包里面的Arrays.asList()工具
但是下面的转换不行
int[] arr = {6,9,4,5,2,0};
ArrayList   lists   =   new   ArrayList(Arrays.asList(arr));
但是这样做结果List里面只有一个对象,因为int[]被看成是一个obj,会作为元素加进去
所以数组中的基本类型.不会进行自动装箱..
作者: 史卜坤    时间: 2012-6-29 08:05
ArrayList 后面追加 int 数组的内容,可以用 addAll 方法:
ArrayList<Integer> al = ...;
int[] i = ...;
al.addAll(new Arrays<Integer>(i));
ArrayList 转成数组用 toArray 方法:
ArrayList<Integer> al = ...;
Integer[] integer = (Integer[])al.toArray();
作者: 李天甲    时间: 2012-6-29 08:12
史卜坤 发表于 2012-6-29 08:05
ArrayList 后面追加 int 数组的内容,可以用 addAll 方法:
ArrayList al = ...;
int[] i = ...;

int[] i=...;
al.addAll(new Arrays<Integer>(i));
这样写应该是不行滴吧,有这个构造方法么?
作者: 张立江    时间: 2012-6-29 08:40
  1. import java.util.*;

  2. class  AsListDemo
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 int[] arr = {6, 9, 4, 5, 2, 0};
  7.                 String[] s = new String[arr.length];//手动将基本数据类型进行装箱动作
  8.                 for(int x=0;x<arr.length;x++)
  9.                 {
  10.                         s[x] = Integer.toString(arr[x]);
  11.                 }
  12.                 //String[] arr = {"abc", "cc", "eqw"};
  13.                 List<String> al = Arrays.asList(s);

  14.                 System.out.println(al);
  15.         
  16.         }
  17. }
复制代码

作者: 刘蕴学    时间: 2012-6-29 13:57
小张童鞋 发表于 2012-6-29 08:40
  1.                 int[] arr = {6,9,4,5,2,0};
  2.                 ArrayList<Integer> list = new ArrayList<Integer>(arr.length);
  3.                
  4.                 for (int i : arr)
  5.         {
  6.                 list.add(Integer.valueOf(i));
  7.         }
  8.                
  9.                 System.out.println(list);
复制代码

作者: 张立江    时间: 2012-6-29 15:03
刘蕴学 发表于 2012-6-29 13:57

暴强!我也学了一手 :lol




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2