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
原文:http://11841428.blog.51cto.com/11831428/1862383