您的位置:首页 > 编程语言 > Java开发

Java中集合框架工具类——Arrays(传智播客毕老师视频讲解)

2014-10-03 16:37 295 查看
一、Arrays中的方法

1、toString():将数组变为字符串

原来的方法:建立StringBilder容器,将数组中的元素添加至该容器中,形成字符串!

现在的方法:直接调用Arrays中的toString方法,将数组变为字符串:

如代码:

int[] arr={2 ,3, 4};
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(Arrays.toString(arr));
结果为:











2、asList():将数组变为List集合

把数组变成list集合有什么好处?

可以使用集合的思想和方法来操作数组中的元素。

注意1:将数组变成集合,不可以使用集合的增删方法。因为数组的长度是固定。

如 :contains。

get

indexOf()

subList();

如果增删。那么会反生UnsupportedOperationException,

String[] arr3={"abc","def","ghi"};
List<String> L4=Arrays.asList(arr3);
System.out.println(L4);
结果为:





注意2:如果数组中的元素都是对象。那么变成集合时,数组中的元素就直接转成集合中的元素。

如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在。

如代码:

int[] arr={2 ,3, 4};

List L1=Arrays.asList(arr);
System.out.println(L1);
List<int []> L2=Arrays.asList(arr);
System.out.println(L2);

Integer[] arr2={2,3,4};
List<Integer> L3=Arrays.asList(arr2);
System.out.println(L3);
结果为:



即在int[] 型数组中,转为List集合后,因为int为基本数据类型,所以将该数组作为集合元素传递进来,即只传了一个元素,即int[]元素。

但是Integer[]型数组中,其数组中的元素均为对象,所以变成集合时,数据中的元素直接转成集合中的元素,即Integer类型。

二、Collections中的toArray():将集合转为数组

1、指定类型的数组到底要定义多长呢?

当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组。长度为集合的size。

当指定类型的数组长度大于了集合的size,就不会新创建了数组。而是使用传递进来的数组。

所以创建一个刚刚好的数组最优。

2、为什么要将集合变数组?

为了限定对元素的操作。不需要进行增删了。



String[] arr3={"abc","def","ghi"};
List<String> L4=Arrays.asList(arr3);       //数组转集合
System.out.println(L4);
//集合转数组
String[] arr4=L4.toArray(new String[0]);   //所开辟空间不足
System.out.println(Arrays.toString(arr4));

String[] arr5=L4.toArray(new String[5]);   //会开辟额外的空间
System.out.println(Arrays.toString(arr5));

String[] arr6=L4.toArray(new String[L4.size()]);//最合适的做法
System.out.println(Arrays.toString(arr6));
结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐