Java List与数组之间的转换
2016-07-22 11:36
441 查看
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 implements
RandomAccess.
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 backedReturns:a list view of the specified array
用法:API中提供了一种使用的方法。更为常用的示例代码:
[java] view
plain copy
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 interface
Collection<E>Specified by:
toArrayin interface
List<E>Overrides:
toArrayin class
AbstractCollection<E>
Returns:an array containing all of the elements in this list in proper sequenceSee 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 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:
toArrayin interface
Collection<E>Specified by:
toArrayin interface
List<E>Overrides:
toArrayin class
AbstractCollection<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 listThrows:
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
用法:示例代码:
[java] view
plain copy
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回调函数
- 添物不花钱学JavaEE(基础篇)- Java
- 添物不花钱学JavaEE(基础篇)- Java
- 解决Fragment相关问题,java-lang-illegalstateexception-activity-has-been-destroyed
- 添物不花钱学JavaEE(基础篇)-XML
- 添物不花钱学JavaEE(基础篇)-XML
- SpringMVC静态资源,页面映射,attribute范围,ModelAttribute
- 解决Eclipse安装或更新插件非常缓慢的问题
- XML DOM 节点
- Java-并发和并行的区别
- SpringMVC学习(一)
- JAVAFX开发出现的小bug
- Win7 64位系统上配置使用32位的Eclipse
- Java RandomAccessFile随机读取文件
- Java中的装箱和拆箱深入理解
- java正则表达式 校验邮箱 身份证号 手机号等
- java 线程池
- Spring Web利用切面统一处理参数校验异常的方法
- 关于Spring中加载xsd文件出现故障的文章总结
- 61. mybatic insert异常:BindingException: Parameter 'name' not found【从零开始学Spring B】