Collectioin 和Collections有什么区别? 集合和数组之间如何相互相转换

Collection是一个接口的名字,定义了集合类型的共同特征。而Collections是一个类的名字,是集合类型的工具类,类中定义了大量的静态方法,能够操作集合对象。  集合和数组有很多共同的地方,二者都是作为数据容器使用, 用来临时存储数据。数组的长度是固定的,集合的长度却可以动态扩展,数组由于可以直接通过索引操作其元素,所以性能和效率较高。实际应用中,可能使用及合作为临时变量持有数据,却将处理结果转换成数组返回。 

数组和集合相互转换:

Collection接口中定义了toArray(T[] a)方法来将集合转换为数组,其中T是泛型类型。

Arrays工具类中提供了asList()方法    → Arrays.asList(arr);

基本类型数组不能直接转化为集合(Arrays.asList(arr)),须将基本类型数组转化为包装类

//基本类型的数据,会将数据作为一个对象存放到List中
int[] array = new int[]{1, 2, 3};
List<int[]> list = Arrays.asList(array);
System.out.println("转化后的集合的大小---》"+list.size());
list.forEach(s->System.out.println("集合中的内容---》"+s));

输出值:

转化后的集合的大小---》1
集合中的内容---》[I@649d209a  (此处是数组,将数组作为一个对象存入到List)

 

//基本类型的包装类或者对象可以装数组转化成集合
Integer[] array = new Integer[]{1, 2, 3};
List<Integer> list = Arrays.asList(array);
System.out.println("包装类转化后的集合的大小---》"+list.size());
list.forEach(s->System.out.println("包装类集合中的内容---》"+s));

输出结果:

包装类转化后的集合的大小---》3
包装类集合中的内容---》1
包装类集合中的内容---》2
包装类集合中的内容---》3

//集合转数组  
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
Integer[] array = list.toArray(new Integer[list.size()]);
System.out.println("数组的大小:"+array.length);
Arrays.stream(array).forEach(s-> System.out.println(s));

 输出结果

数组的大小:3
1
2
3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值