在Java中怎样把数组转换为ArrayList

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Java中怎样把数组转换为ArrayList相关的知识,希望对你有一定的参考价值。

方法一:

ArrayList list = new ArrayList(Arrays.asList(array));

方法二:

public List getList(Object[] obj)throws Exception
        List list = new ArrayList();
        for(int i=0;i<obj.length;i++)
            list.add(obj[i]);
        return list;

参考技术A     private ArrayList<String> getArray(String[] str) 
        ArrayList<String> array = new ArrayList<String>();
        for (int i = 0; i < str.length; i++) 
            array.add(str[i]);
        
        return array;
    

根据你自己的需要,更改ArrayList内部的数据类型和数组的数据类型

参考技术B arraylist本身就是一个数组

只不过长度不定,可自动增长
参考技术C 参考Java API 原话:
public static <T> List<T> asList(T... a)
返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)
此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。

例子:
public static void main(String[] args)
// 数组转换为List,其中参数为任意类型
List<String> list = Arrays.asList(new String[]"ss","sss");
// List转换为数组,参数指定数组的类型
String[] a = list.toArray(new String[0]);
// 打印
System.out.println(list);
for(String b : a)
System.out.print(b+" ");


本回答被提问者和网友采纳

java中 我想把集合转化为数组

java中 我想把集合转化为数组List<String> list=new ArrayList
String[] str=(String [])list.toArray
为什么前面语言添加String[]
是java规定的还是有什么特殊原因吗?
toArray不就是将集合转化为数组吗?
为什么还要强转呢?


List<String> list=new ArrayList<String>();
list.add("aa");
list.add("bb");

String[] targetArr=new String[list.size()];
list.toArray(targetArr);
for(String s:targetArr)
System.out.println(s);

推荐上面这样写。要是按你那这样写的话,转完是Object[] arr,如果这个时候你把它强制转为String[] 类型会报错。

参考技术A list.toArray()返回的是Object[]对象,所以要强制转换成String[]才能赋值给String[] str 参考技术B String[] str=list.toArray;你直接这样写的时候报错了额然后你加了强转(String [])对吧?
首先你的list集合要是里面有数据的话 你可以尝试这样写String[] str=list.toArray(new String[list.size()]); 看看行不行追问

我知道这么写是可以的 我想知道第一种为啥不行

追答

有人回答了呢 toArray()返回的不是string型的数组 要强制转换

追问

嗯嗯 谢谢了

以上是关于在Java中怎样把数组转换为ArrayList的主要内容,如果未能解决你的问题,请参考以下文章

c#怎么判断一个数组是不是含有某个数字

[转]Java中怎样把数组转换为ArrayList

java中怎样可以把String类型转化为Char类型的数组啊?

java怎样把一个byte数组保存成图片到硬盘上?

JAVA中怎么把字符串转换成字符数组

在JAVA里,怎样把字符串类型的数字转换为整形类型??