集合与数组之间相互转化
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
集合与数组之间相互转化相关推荐
- Java中,集合与数组之间的相互转换
1. 集合转换为类型一致的数组 使用集合转数组的方法,必须使用集合的 toArray(T[] array)方法,传入的是类型完全一致.长度为 0 的空数组. 反例: 直接使用 toArray 无参方法 ...
- Java中集合与数组之间的转换方法
一.Array 转为List 1.实现方法 :java中数组转list使用Arrays.asList(T... a)方法如下: public class Array2List {public stat ...
- es6删除数组某一项_JavaScript:集合与数组,重要但你不知道的ES6数据类型
全文共3313字,预计学习时长10分钟 图源:Unsplash Set(集合)对象类型于2015年在ECMAScript*规范中提出,可以在 Node.js和大部分浏览器中使用. *ECMA是Euro ...
- JavaScript:集合与数组,重要但你不知道的ES6数据类型
全文共3313字,预计学习时长10分钟 图源:Unsplash Set(集合)对象类型于2015年在ECMAScript*规范中提出,可以在 Node.js和大部分浏览器中使用. *ECMA是Euro ...
- java集合和数组随你转换_java集合和数组互相转换
// 抽时间多了解集合框架和数组,不能只要是数组就会写ArrayList,碰到键值对就是HashMap // 每次用到集合,我们都要像小和尚念经般的熟悉下面内容: a) List Set Map是集合 ...
- java的集合和数组_Java集合和数组的区别
Java集合和数组的区别 集合和容器都是Java中的容器. 区别 数组特点:大小固定,只能存储相同数据类型的数据 集合特点:大小可动态扩展,可以存储各种类型的数据 转换 数组转换为集合: Arrays ...
- java对象与byte[]数组之间的相互转化,压缩解压缩操作
下面介绍一下java对象之间和byte[]数组之间的相互转化.并对byte[]数据进行压缩操作.java对象转化为byte[]数组可用于redis中实现缓存.(这里暂不做介绍).话不多说直接开实例: ...
- NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存
NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...
- ArrayList和数组之间的一些转换
1. ArrayList和数组之间的一些转换 ArrayLlist底层就是用数组实现的,并且提供了两个方法给我们来将集合转换成数组 1. public Object[] toArray() 这个数组中 ...
最新文章
- iOS开发(5)动态监听键盘通知
- 转 abap中sy-index和sy-tabix使用的时候有什么区别
- 正则至少一个数字_好程序员web前端培训分享JavaScript学习笔记之正则
- hdu 4414 Finding crosses
- ASP.NET学习笔记
- 二维凸包 Graham's Scan
- linux将程序锁死,Linux死锁现象及分析方法(转)
- C语言预定义宏的使用
- Hadoop系列之InputFormat,OutputFormat用法
- leetcode 35. 搜索插入位置(二分法搜索失败的情况)
- RyuBook1.0案例三:REST Linkage
- 为Eclipse安装ADT插件
- 计算机无法安装蓝牙驱动,windows10系统安装蓝牙驱动图文教程|windows10系统如何安装蓝牙驱动...
- 海马玩模拟器 v0.7.2 官方版
- 修改Echarts源码实现柱状图的炫彩闪烁效果
- fhq——treap
- OJ每日一练——边防哨口令
- 一篇文章搞懂「低保真原型与高保真原型」
- 深度学习框架提供的“Model Zoo“
- 什么叫克隆人_什么叫克隆人?克隆技术有什么好处,快来涨姿