java list数组_java list与数组之间的转换详细解析

1 数组转换为List调用Arrays类的静态方法asList。

asListpublic static List asList(T... a)Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.) This method acts as bridge between array-based and collection-based APIs, in combination with Collection.toArray(). The returned list is serializable and implements RandomAccess.

This method also provides a convenient way to create a fixed-size list initialized to contain several elements:

List stooges = Arrays.asList("Larry", "Moe", "Curly");

Parameters:a - the array by which the list will be backed

Returns:

a list view of the specified array

用法:API中提供了一种使用的方法。更为常用的示例代码:

String[] arr = new String[] {"str1", "str2"};

List list = Arrays.asList(arr);

2 List转换为数组这里的List以ArrayList为例,ArrayList的API提供了两种可供使用的函数。

toArraypublic Object[] toArray()Returns an array containing all of the elements in this list in proper sequence (from first to last element).

The returned array will be "safe" in that no references to it are maintained by this list. (In other words, this method must allocate a new array). The caller is thus free to modify the returned array.

This method acts as bridge between array-based and collection-based APIs.

Specified by:toArray in interface Collection

Specified by:toArray in interface List

Overrides:toArray in class AbstractCollection

Returns:an array containing all of the elements in this list in proper sequence

See Also:Arrays.asList(Object[])

--------------------------------------------------------------------------------

toArraypublic T[] toArray(T[] a)Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list.

If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the collection is set to null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)

Specified by:toArray in interface Collection

Specified by:toArray in interface List

Overrides:toArray in class AbstractCollection

Parameters:a - the array into which the elements of the list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.

Returns:an array containing the elements of the list

Throws:ArrayStoreException - if the runtime type of the specified array is not a supertype of the runtime type of every element in this list

NullPointerException - if the specified array is null

用法:示例代码:

List list = new ArrayList();

list.add("str1");

list.add("str2");

int size = list.size();

String[] arr = (String[])list.toArray(new String[size]);//使用了第二种接口,返回值和参数均为结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值