https://blog.csdn.net/zhuwentao2150/article/details/51713565

本文转自上述链接

数组转换成List集合

  • 方法一 
    笨方法就是通过add把数组中的数据循环添加到List集合中
 List<String> mlist = new ArrayList<>();String[] array = new String[] {"zhu", "wen", "tao"};// String数组转List集合for (int i = 0; i < array.length; i++) {mlist.add(array[i]);}// 输出List集合for (int i = 0; i < mlist.size(); i++) {System.out.println("mlist-->" + mlist.get(i));}

  • 方法二 
    采用java中集合自带的asList()方法就可以完成转换了
  String[] array = new String[] {"zhu", "wen", "tao"};// String数组转List集合List<String> mlist = Arrays.asList(array);// 输出List集合for (int i = 0; i < mlist.size(); i++) {System.out.println("mlist-->" + mlist.get(i));}

List集合转换成数组

  • 方法一 
    笨方法是把List中的数据循环添加到数组中
  • 方法二
  • 采用集合的toArray()方法直接把List集合转换成数组,这里需要注意,不能这样写: 
  • String[] array = (String[]) mlist.toArray();
    这样写的话,编译运行时会报类型无法转换java.lang.ClassCastException的错误,这是为何呢,这样写看起来没有问题啊
    因为java中的强制类型转换是针对单个对象才有效果的,而List是多对象的集合,所以将整个List强制转换是不行的
    正确的写法应该是这样的
    List<String> mlist = new ArrayList<>();mlist.add("zhu");mlist.add("wen");mlist.add("tao");String[] array = new String[mlist.size()];// List转换成数组for (int i = 0; i < mlist.size(); i++) {array[i] = mlist.get(i);}// 输出数组for (int i = 0; i < array.length; i++) {System.out.println("array--> " + array[i]);}

String[] array = mlist.toArray(new String[0]);List<String> mlist = new ArrayList<>();mlist.add("zhu");mlist.add("wen");mlist.add("tao");// List转成数组String[] array = mlist.toArray(new String[0]);// 输出数组for (int i = 0; i < array.length; i++) {System.out.println("array--> " + array[i]);}

不管是数组转换成集合,还是集合转换成数组,都要注意转换类型的一致性,String[]数组转String类型的集合,当需要使用int,double等集合的时候,需要使用对应的对象
如:数组int[]用Integer[],double[]用Double[]
因为List集合是对象的集合,而int、double等不是对象,所以需要用字段的对应对象类

转载于:https://www.cnblogs.com/minmin123/p/11418453.html

集合与数组之间相互转化相关推荐

  1. Java中,集合与数组之间的相互转换

    1. 集合转换为类型一致的数组 使用集合转数组的方法,必须使用集合的 toArray(T[] array)方法,传入的是类型完全一致.长度为 0 的空数组. 反例: 直接使用 toArray 无参方法 ...

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

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

  3. es6删除数组某一项_JavaScript:集合与数组,重要但你不知道的ES6数据类型

    全文共3313字,预计学习时长10分钟 图源:Unsplash Set(集合)对象类型于2015年在ECMAScript*规范中提出,可以在 Node.js和大部分浏览器中使用. *ECMA是Euro ...

  4. JavaScript:集合与数组,重要但你不知道的ES6数据类型

    全文共3313字,预计学习时长10分钟 图源:Unsplash Set(集合)对象类型于2015年在ECMAScript*规范中提出,可以在 Node.js和大部分浏览器中使用. *ECMA是Euro ...

  5. java集合和数组随你转换_java集合和数组互相转换

    // 抽时间多了解集合框架和数组,不能只要是数组就会写ArrayList,碰到键值对就是HashMap // 每次用到集合,我们都要像小和尚念经般的熟悉下面内容: a) List Set Map是集合 ...

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

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

  7. java对象与byte[]数组之间的相互转化,压缩解压缩操作

    下面介绍一下java对象之间和byte[]数组之间的相互转化.并对byte[]数据进行压缩操作.java对象转化为byte[]数组可用于redis中实现缓存.(这里暂不做介绍).话不多说直接开实例: ...

  8. NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存

    NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...

  9. ArrayList和数组之间的一些转换

    1. ArrayList和数组之间的一些转换 ArrayLlist底层就是用数组实现的,并且提供了两个方法给我们来将集合转换成数组 1. public Object[] toArray() 这个数组中 ...

最新文章

  1. iOS开发(5)动态监听键盘通知
  2. 转 abap中sy-index和sy-tabix使用的时候有什么区别
  3. 正则至少一个数字_好程序员web前端培训分享JavaScript学习笔记之正则
  4. hdu 4414 Finding crosses
  5. ASP.NET学习笔记
  6. 二维凸包 Graham's Scan
  7. linux将程序锁死,Linux死锁现象及分析方法(转)
  8. C语言预定义宏的使用
  9. Hadoop系列之InputFormat,OutputFormat用法
  10. leetcode 35. 搜索插入位置(二分法搜索失败的情况)
  11. RyuBook1.0案例三:REST Linkage
  12. 为Eclipse安装ADT插件
  13. 计算机无法安装蓝牙驱动,windows10系统安装蓝牙驱动图文教程|windows10系统如何安装蓝牙驱动...
  14. 海马玩模拟器 v0.7.2 官方版
  15. 修改Echarts源码实现柱状图的炫彩闪烁效果
  16. fhq——treap
  17. OJ每日一练——边防哨口令
  18. 一篇文章搞懂「低保真原型与高保真原型」
  19. 深度学习框架提供的“Model Zoo“
  20. 什么叫克隆人_什么叫克隆人?克隆技术有什么好处,快来涨姿

热门文章

  1. 回看2021序章,继往开来
  2. Java中的HashMap和HashTable到底哪不同?
  3. 企业微信的外部联系人回调处理技巧
  4. C++ 单冒号与双冒号用法
  5. 图解C语言中数组指针、指针数组、函数指针、函数指针数组、指向函数指针数组的指针
  6. Android_UI开发总结(四):如何调整app的字体样式不随系统变化
  7. html锁机源码,webkit实现仿Iphone解锁插件
  8. bounded away from zero什么意思?
  9. 1小时教你快速搭建蓝鲸CMDB运行平台
  10. stable diffusion使用简明教程