A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Mr.KevinヾY1n 中级黑马   /  2017-1-12 00:06  /  1355 人查看  /  3 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;


  4. public class Demo04 {
  5.         public static void main(String[] args) {
  6.                 String[] arr1 ={"aa","vv","ee","rtr","n"};
  7.                 List<String> list = Arrays.asList(arr1);        //将数组转化为List集合
  8.                 System.out.println(list);//[aa, vv, ee, rtr, n]  
  9.                
  10.                 int[] arr = {11,22,77,44,33,66};
  11.                 List<int[]> list2 = Arrays.asList(arr);
  12.                 System.out.println(list2);//[[I@11671b2]   ..基本数据类型转换,会把整个数组当做一个对象
  13.                
  14.                 Integer[] arr3 = {11,22,77,44,33,66};
  15.                 List<Integer> list3 = Arrays.asList(arr3);
  16.                 System.out.println(list3);        //基本数据类型想转化成集合,就利用基本数据类型的包装类
  17.                 //总结:数组转化集合,必须是引用数据类型,如果是基本数据类型利用其包装类
  18.                
  19.                 //集合转数组
  20.                 ArrayList<String> list4 = new ArrayList<String>();
  21.                 list4.add("aaa");
  22.                 list4.add("bbb");
  23.                 list4.add("ccc");
  24.                 String[] arr4 = list4.toArray(new String[0]);  //这个长度暂定为0看结果
  25.                 for (int i = 0; i < arr4.length; i++) {                        //因为是引用数据类型,List重写了toString()方法可以直接打印。而数组不可以的
  26.                                                                                                                 //所以需要挨个遍历数组,如果直接打印数组,则只会打印出地址值
  27.                         System.out.print(arr4[i] + " ");                //aaa bbb ccc
  28.                 }
  29.                
  30.                 String[] arr5 = list4.toArray(new String[5]);  //这个长度暂定为5看结果
  31.                 for (int i = 0; i < arr5.length; i++) {                        //因为是引用数据类型,List重写了toString()方法可以直接打印。而数组不可以的
  32.                         System.out.print(arr5[i] + " ");                //aaa bbb ccc null null ,发现后面是2个null,什么意思呢?就是说
  33.                                                                                                         //当我们设置的长度大于集合长度,那么数组会自动补充null值
  34.                 }
  35.                 //总结:当集合转换数组,数组的长度小于等于集合的长度时,数组的长度等于集合的长度。
  36.                 //如果数组的长度大于集合长度,那么分配的长度就和你指定的长度一样的,自动补充null值
  37.         }
  38. }
复制代码

3 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
学习学习,基础薄弱!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马