在Java中怎样把数组转换为ArrayList
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Java中怎样把数组转换为ArrayList相关的知识,希望对你有一定的参考价值。
方法一:
ArrayList list = new ArrayList(Arrays.asList(array));
方法二:
public List getList(Object[] obj)throws ExceptionList 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的主要内容,如果未能解决你的问题,请参考以下文章