最新消息:

java中将List转换为数组和数组转换为List

JAVA 大步 1088浏览 0评论

java中将数组转换为list并没有什么容易的方法,但是将list转换为数组可以使用从Collection接口继承的toArray()方法。如果只使用jdk的api,那么只能通过循环将数组转换为List。如果你使用第三方的开源库如Google Guava或Apache Commons lang则有很多工具类可以用力啊将list转换为数组或数组转list。

注意:原文那里有个明显的错误说list有load factor,但实际上ArrayList并没有load factor,只有Set集合才有的。当向ArrayList中使用add()方法添加元素的时候,会检测是否超过ArrrayList的容量(capacity),如果ArrayList已经满了,就会new一个新的数组, 数组长度为增加50% ,用来装下所有的新的元素。

数组转换为List
使用循环将数组转换为List。注意:List中只能存放对象,例如:数组是int类型的,则List就需要保存为Integer类型。

代码:

 

List转换为数组
使用List的toArray()方法来将List转换为数组,不仅可以保持原有的顺序,而且还能返回指定类型的数组。
不过要注意的是,你不能使用该方法将List转换为基础类型数组,只能通过遍历List,使用自动装箱将Integer类型的List转换为int类型的数组:

 

下面贴出完整的代码:

 

Output :
list : [1, 2, 3, 4, 5, 6, 7]
array converted from list : [1, 2, 3, 4, 5, 6, 7]
array : [Java, Perl, Lisp, JavaScript, Python]
array to list : [Java, Perl, Lisp, JavaScript, Python]
list from array in Java : [John, Mohan, Mary]
list of Integer from an array of int : [2, 3, 5, 7]

原文:《How to convert list to array in Java and vice-versa

转载请注明:大步's Blog » java中将List转换为数组和数组转换为List

SiteMap