在Java中,ArrayList与数组如何相互转换,写出例子

ArrayList与数组如何相互转换?
贴上例子,要测试成功的代码
要所有类型的数组都能转换(比如转换成int数组,String数组)

参考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+" ");
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-14
你要看看你那个ArrayList是什么类型的,我大概说一下吧,比如说类型设定为MType,那个ArrayList<MType> fff = new ArrayList<MType>();
MType[] kkk = new MType[fff.size()];//这个fff.size()应该是吧,总是就是获取长度就是了
for(int i = 0;i<fff.size();i++)
{
kkk[i] = ArrayList.get(i);
}
大概就是这样,不过java我很久都没有碰了,可能里面调用的函数要修改一下
第2个回答  2013-07-14
List<T> list = Arrays.asList(T[] arrays);

T[] arrays = list.toArray();

需要注意的是数组转list,参数要用你原来数组的类型

在Java中,ArrayList与数组如何相互转换,写出例子
例子: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(Strin...

java ArrayList原理及转化成数组常用方法
1. ArrayList底层机制 ArrayList基于动态数组实现,每次元素增加会自动扩容,内部存储的是Object类型的数组。使用transient关键字管理内存,检测容量时会调用ensureCapacityInternal方法,初始容量为10,不足时会扩大两倍。2. ArrayList到数组的转化 直接遍历ArrayList转化为数组是最直观的方式。toArray()方法返回Obje...

java技术:怎样将ArrayList的值赋值给一个二维数组啊?
首先循环ArrayList,得到的size()既是你的二维数组的第一维值,然后你的列数是固定的,那列数既是第二维值。例如 ArrayList aList = new ArrayList();int a = aList.size();int b = 8; \/\/这里假设列数为8;int array = new int[a][b];for (int i = 0; aList != null && i < ...

在Java中怎样把数组转换为ArrayList
1.将容器c转换为一个数组 2.将数组拷贝到ArrayList中称为”elementData”的数组中 ArrayList的构造方法的源码如下:?1234567 public ArrayList(Collection<? extends E> c) { elementData = c.toArray(); size = elementData.length; if (elementData.getClass() != Object[].class) ele...

用java编写数组求和,array[]和ArrayList()?
这个很简单。在第一个例子中你定义的数组的类型是int类型,sum+=a[i] 就是正确的。而在第二个例子中你将 ArrayList li转化成了Object的数组。在编辑的sum+=a[i] 报编译异常The operator += is undefined for the argument type(s) int, Object, 意思就是说Object的类型不能直接的用来进行+=...

求java二维数组转换成ArrayList<ArrayList<String>>格式
二维数组是由行和列组成,可以将行保存在内层的arraylist里面,外层的放到外面的arraylist,示例如下:ArrayList<ArrayList<String>> list = new ArrayList<ArrayList<String>>();\/\/先定义一个集合对象for(int i=0; i<str.length; i++){\/\/遍历二维数组,对集合进行填充 ArrayList<String> listSub...

Java ArrayList的使用
import java.util.*;class Student { \/\/ 定义学生类String name;Student(String name) { \/\/ 构造方法this.name = name;}\/\/ 重写equals方法,保证只要名字相等,则认为是同一个人.public boolean equals(Object obj) {if (name == null || obj == null) {return false;}if (obj instanceof...

java中arraylist<>是什么写法
java 的arraylistjava 的arraylist_Java中ArrayList类详解1、什么是ArrayListArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素实现了ICollection和IList接口灵活的设置数组的大小2、如何使用ArrayList最简单的例子:ArrayList List = new ArrayList();for( int ...

数组和List之间相互转换的方法是怎样的
1.List转换成为数组。(这里的List是实体是ArrayList)调用ArrayList的toArray方法。toArray public <T> T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定...

java String[]与ArrayList的互换
先说一下,使用ArrayList也只能生成有相同数据的一个新对象,然后在这上面进行数据的添加和删除等操作,而不可能对原来的数组进行数据删除操作,原来的String数组是不变的。转换为ArrayList的代码如下(用现成的方法就行了,不用使用循环去逐个add):String[] s = {"aa","bb","cc","dd","ee"};...

相似回答