代码:

public class Test {public static void main(String[] args) {Integer[] a = {1, 2, 3};// 数组转成集合// 以下参数是一个可变参数,可以直接写数组,或者直接写可变参数值也行,比如Arrays.asList(1,2,3,4)这种形式List<Integer> list = Arrays.asList(a);System.out.println("输出集合中的元素:");for (Integer i : list) {System.out.println(i);}// 集合转成数组Integer[] b = list.toArray(new Integer[0]);System.out.println("输出数组中的元素:");for (Integer i : b) {System.out.println(i);}}
}

结果:

输出集合中的元素:
1
2
3
输出数组中的元素:
1
2
3

解释:

集合和数组的转换当然可以通过for循环来做,但是这种做法需要写比较多的代码,所以不是特别令人满意,毕竟大神已经做好轮子了,我们没有必要再去做轮子,对于数组转换成集合没有什么好说的,直接一个asList()方法就搞定了,对于集合转换成数组那就有点说头了,首先集合还有一个方法是无参的toArray(),不过这个方法的返回值是Object[],源码如下:

Object[] toArray();

但是我们还不能进行强制类型转换,毕竟可以强制类型转换单个对象,但是无法对数组进行转换,然后里面还有一个带参的toArray()方法,源码如下:

<T> T[] toArray(T[] a);

这个需要我们指定泛型,所以我们上面的代码就是Integer[] b = list.toArray(new Integer[0]);,至于里面为什么是new Integer[0],你可以这样思考,我们只需要指明一下类型,但是定义数组的时候我们必须指定数组的长度,不过这个长度也没有什么用,只是为了符合数组定义要求而已,所以为了节约内存,我们就把长度设置成0,这样也指定了数组类型,并且也没有浪费内存空间

java中集合和数组的相互转换相关推荐

  1. Java中arraylist和数组的相互转换

    Java中ArrayList和数组之间的相互转换 ArrayList转为数组 数组转为ArrayList 一.ArrayList转换数组 public static void arrayListToA ...

  2. java中集合转数组中_JAVA中集合转数组遍历

    JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) { // ...

  3. Java中集合与数组之间的转换方法

    一.Array 转为List 1.实现方法 :java中数组转list使用Arrays.asList(T... a)方法如下: public class Array2List {public stat ...

  4. Java中集合和数组的区别

    区别: 1)    数组的长度是固定的,集合的长度可以动态扩展 2)    数组只能存储相同类型的数据,集合可以存储不同的类型的数据 public static void main(String[] ...

  5. Java中List和数组Array和String之间的相互转换

    Java中List和数组Array和String之间的相互转换 之前面试的时候遇到一个问题,先给大家分享一下.问:我想分别得到list,string和数组的长度,我能通过什么代码来得到? 这个问题先留 ...

  6. java的集合和数组_Java集合和数组的区别

    Java集合和数组的区别 集合和容器都是Java中的容器. 区别 数组特点:大小固定,只能存储相同数据类型的数据 集合特点:大小可动态扩展,可以存储各种类型的数据 转换 数组转换为集合: Arrays ...

  7. Java中如何将一个数组分割成多个等长度的数组

    Java中如何将一个数组分割成多个等长度的数组,最后剩下的为一个素组 先看图 分析数据 提取公式 分装代码 1.如下我们需求 最近朋友android项目中有一个需求如下: 这一个长集合[item0, ...

  8. Java中集合拥有的共性方法

    在Java中集合的共性方法 1.在Java中集合作为最顶层的集合,他拥有所有集合有的共性方法.所以在定义实现类的时候可以使用多态. 集合拥有的共性方法: public boolean add(E e) ...

  9. java中集合的分类以及集合的选择

    一.java中的集合 一般同学都是从c语言起步的,刚开始使用java时,会对集合这个概念比较陌生,在c语言中我们表示数据的集合往往使用数组,在编写c程序时觉得数组完全可以满足我们的基本需要.而到了ja ...

最新文章

  1. HDOJ2019 ( 数列有序! ) 【水题】
  2. PL/pgSQL的anyelement例子
  3. 怎么向后删除?(删除光标后的字符)(按delete键)
  4. 在laravel5.8中集成swoole组件----用协程实现的服务端和客户端(nginx配置篇章)
  5. 作者:刘大伟(1984-),男,博士,烟台中科网络技术研究所助理研究员。
  6. 中国电信9月将率先推出5G新号段:资费也随之曝光 最高599元/月?
  7. C语言强化——学生管理系统
  8. 浅谈API测试与UI Auomation一点心得
  9. Spring依赖注入的三种方式
  10. python与机械教育初探_《Python与机器人程序设计》
  11. 良心好用无功能限制、珍藏单文件版Windows录屏软件分享!
  12. 编译原理自顶向下语法分析
  13. Hadoop基本原理
  14. c语言中指针几个字节,【C++】一个指针占几个字节?为什么呢?
  15. 计算机专业—毕业设计题目大全
  16. 江苏大学计算机学院复试题,本部基础A定稿-含答案(江苏大学计算机).doc
  17. 牛客《今日头条》笔试题
  18. IKEv2与IKEv1的差异
  19. Flare Network,跨越互操作性三难困境
  20. 华为云天筹AI求解器再次登顶 性能遥遥领先第二名11%

热门文章

  1. 鸿蒙小米note3,新旧一亿像素,Redmi Note 9 Pro、小米10、坚果R2、K30U拍照对比
  2. 转:说说售前,关于售前,售前软件工程师----写的很好
  3. html自动获取系统时间,js、html获取系统当前时间方法
  4. 计算机等级考试,详细说明(图片不显示)
  5. 2020年9月计算机应用基础统考真题,2020年9月网络教育统考《计算机应用基础》电子表格模拟题试卷操作题...
  6. 织梦php源码,织梦 | php教程|php源码|php学习
  7. 如何关闭SpringBoot的小图标
  8. 免费的设备管理app
  9. html滚动字幕怎么设置大小,css怎么设置滚动条宽度?
  10. 网站安全检测:推荐 8 款免费的 Web 安全测试工具