黑马程序员技术交流社区
标题:
集合转数组&数组转集合
[打印本页]
作者:
Mr.KevinヾY1n
时间:
2017-1-12 00:06
标题:
集合转数组&数组转集合
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Demo04 {
public static void main(String[] args) {
String[] arr1 ={"aa","vv","ee","rtr","n"};
List<String> list = Arrays.asList(arr1); //将数组转化为List集合
System.out.println(list);//[aa, vv, ee, rtr, n]
int[] arr = {11,22,77,44,33,66};
List<int[]> list2 = Arrays.asList(arr);
System.out.println(list2);//[[I@11671b2] ..基本数据类型转换,会把整个数组当做一个对象
Integer[] arr3 = {11,22,77,44,33,66};
List<Integer> list3 = Arrays.asList(arr3);
System.out.println(list3); //基本数据类型想转化成集合,就利用基本数据类型的包装类
//总结:数组转化集合,必须是引用数据类型,如果是基本数据类型利用其包装类
//集合转数组
ArrayList<String> list4 = new ArrayList<String>();
list4.add("aaa");
list4.add("bbb");
list4.add("ccc");
String[] arr4 = list4.toArray(new String[0]); //这个长度暂定为0看结果
for (int i = 0; i < arr4.length; i++) { //因为是引用数据类型,List重写了toString()方法可以直接打印。而数组不可以的
//所以需要挨个遍历数组,如果直接打印数组,则只会打印出地址值
System.out.print(arr4[i] + " "); //aaa bbb ccc
}
String[] arr5 = list4.toArray(new String[5]); //这个长度暂定为5看结果
for (int i = 0; i < arr5.length; i++) { //因为是引用数据类型,List重写了toString()方法可以直接打印。而数组不可以的
System.out.print(arr5[i] + " "); //aaa bbb ccc null null ,发现后面是2个null,什么意思呢?就是说
//当我们设置的长度大于集合长度,那么数组会自动补充null值
}
//总结:当集合转换数组,数组的长度小于等于集合的长度时,数组的长度等于集合的长度。
//如果数组的长度大于集合长度,那么分配的长度就和你指定的长度一样的,自动补充null值
}
}
复制代码
作者:
袁志娜
时间:
2017-1-13 22:56
作者:
jiangyu
时间:
2017-1-22 22:56
学习!!!!!!!
作者:
20161223
时间:
2017-1-23 11:02
学习学习,基础薄弱!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2