首页 > 代码库 > 数组和集合的相互转换
数组和集合的相互转换
1.集合转换为数组
package cn; import java.util.ArrayList; /** * 集合转换为数组 */ public class ListToArrayDemo { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("hello"); list.add("world"); list.add("java"); Object[] obj = list.toArray(); for (int i = 0; i < obj.length; i++) { String str = (String)obj[i]; System.out.println(str); } } }
hello
world
java
2.数组转换为集合
package cn; import java.io.Serializable; import java.util.Arrays; import java.util.List; /** * 数组转换为集合 */ public class ArrayToListDemo { public static void main(String[] args) { String[] str = new String[]{"hello","world","java"}; List<String> list = Arrays.asList(str); for(String s :list){ System.out.println(s); } } }
但是,数组转换为集合之后,是不能增 删 但是可以更新(其实就是set(int index,T value))
package cn; import java.io.Serializable; import java.util.Arrays; import java.util.List; /** * 数组转换为集合 */ public class ArrayToListDemo { public static void main(String[] args) { String[] str = new String[]{"hello","world","java"}; List<String> list = Arrays.asList(str); list.set(0, "哈哈"); for(String s :list){ System.out.println(s); } } }
why?因为虽然数组转换为集合之后,变成了集合,但是它本质上还是数组,就比如江山易改本性难移。而且数组一旦定义之后,长度是不可以改变的。而此时你用转换过来的集合去增加和删除元素,那么不就是更改了数组的长度吗?
本文出自 “11831428” 博客,请务必保留此出处http://11841428.blog.51cto.com/11831428/1862383
数组和集合的相互转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。