1 数组转换为List
调用Arrays类的静态方法asList。
asList
public static <T> List<T> 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 implementsRandomAccess.This method also provides a convenient way to create a fixed-size list initialized to contain several elements:
List<String> 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
-
String[] arr = new String[] {"str1", "str2"};
List<String> list = Arrays.asList(arr);2 List转换为数组
这里的List以ArrayList为例,ArrayList的API提供了两种可供使用的函数。
toArray
public 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:
-
toArrayin interfaceCollection<E>
Specified by:
-
toArrayin interfaceList<E>
Overrides:
-
toArrayin classAbstractCollection<E>
-
-
-
Returns:
- an array containing all of the elements in this list in proper sequence See Also:
-
Arrays.asList(Object[])
toArray
public <T> 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 tonull. (This is useful in determining the length of the listonlyif the caller knows that the list does not contain any null elements.)
-
-
Specified by:
-
toArrayin interfaceCollection<E>
Specified by:
-
toArrayin interfaceList<E>
Overrides:
-
toArrayin classAbstractCollection<E>
-
-
-
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<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
int size = list.size();
String[] arr = (String[])list.toArray(new String[size]);//使用了第二种接口,返回值和参数均为结果
本文介绍了如何在Java中将数组转换为List以及如何将List转换回数组的具体方法。包括使用Arrays.asList()方法将数组转换为固定大小的List,以及通过List的toArray()方法将List转换为数组的不同实现方式。
268

被折叠的 条评论
为什么被折叠?



