JAVA:List 与 数组 相互转换
一、 List 转化成 数组
1. list.toArray();
直接将 list 转换成 Object[] 类型的 数组;
Object : 对象类,是所有类的父类
Object[] ans1 = list.toArray();
2. list.toArray(T[] a);
输出指定类型的数组,输出的数组类型与括号中参数类型一致;
必须是包装类(String、Integer、Character等),不能是基本数据类型了(string、int、char);
// 创建数组时: int [ ] arr = new int [ ] {}; 使用的是基本数据类型
Integer[] ans2 = list.toArray(new Integer[list.size()]);
案例:
// 创建一个list,并且对list赋值
List<Integer> list = new ArrayList<>();
for (int i = 1; i < 11; i++) {list.add(i);}//方法一:
Object[] ans1 = list.toArray();
System.out.println("1:" + Arrays.toString(ans1));// 方法二:
Integer[] ans2 = list.toArray(new Integer[list.size()]);
System.out.println("2:" + Arrays.toString(ans2));1:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
二、数组 转换成 list
1. Arrays.asList( );
注意该方法的返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,
它并非java.util.ArrayList类。
java.util.Arrays.ArrayList类具有set(),get(),contains()等方法,
但是不支持添加add()或删除remove()方法,调用这些方法会报错。
也就是说,此种方法残缺:重新得到的 list 不能 add( ) 或者 remove( );
// 因为list中是包装类。所以数组创建时也需要使用包装类
Integer[] num = new Integer[]{1,2,3,4,5,6,7,8,9};
List<Integer> ans1 = Arrays.asList(num);//此时得到的list 不能 使用 add() 与 remove()方法;
// 解决办法:
// 创建一个新的list 对象,将残缺的list加入进去
List<Integer> list = new ArrayList<>(ans1);
2、Collections.addAll( );(此种方法最实用)
直接创建一个新的 list 对象,然后使用Collections.addAll( ) 方法。
Integer[] num = new Integer[]{1,2,3,4,5,6,7,8,9};
List<Integer> ans2 = new ArrayList<>();
Collections.addAll(ans2,num);
JAVA:List 与 数组 相互转换相关推荐
- Java字符串和数组相互转换
字符串转数组 Java.lang 包中有 String.split() 方法,Java 中通常用 split() 分割字符串,返回的是一个数组. String str = "123abc&q ...
- java 中数组与list_Java中List与数组相互转换实例分析
这篇文章主要介绍了Java中List与数组相互转换的方法,实例分析了Java中List与数组相互转换中容易出现的问题与相关的解决方法,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例分析了Java ...
- Java中的数组与List相互转换的方法分析
目录 一.Java中的数组转换为List的方法 1.使用Arrays.asList()方法 2.使用Collections.addAll()方法 3.使用集合的addAll()方法 4.使用Sprin ...
- java 中文 音序,java 中文字符串数组按照音序排列
java 中文字符串数组按照音序排列 复制代码 代码如下: public class SortComparator implements Comparator{ public int compare( ...
- php 数组元素 转 变量,php变量与数组相互转换的方法(extract与compact)
php变量与数组相互转换的方法(extract与compact) 这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来! PHP 开源脚本语言 PHP(外文名: Hypertext Preproc ...
- JAVA学习笔记--数组初始化
JAVA中,数组只是相同类型的.用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.数组通过方括号下标操作符[]来定义和使用,要定义一个数组只需在类型名后面加上一个方括号即可,如: int[] ...
- java的byte php_java_浅谈java的byte数组的不同写法,(由于篇幅原因阐述的不够详 - phpStudy...
浅谈java的byte数组的不同写法 (由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"b ...
- Java学习_day007:数组与方法
一.数组 数组的复制 int[]a={10,20,30,40,50}; int[]b=new int[6]; //b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4 ...
- java 复制一个数组_浅谈Java中复制数组的方式
在Java里面,可以用复制语句"A=B"给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组:如果一个数组发生改变,那么引用同 ...
- Java进阶知识-数组类型
前言 本来数组类型应该属于基础部分的知识,我将它写在进阶部分是因为数组既可以是基础数据类型数组,也可以是引用数据类型数组.所以我想先介绍完类与对象的基础之后,再给大家介绍数组.于是,今天这篇内容给大家 ...
最新文章
- Sencha touch 2 入门 -------- DataView 显示服务器端JSON文件数据
- 磁盘 I/O性能指标
- 转:运维监控系统-监控项及指标的梳理
- ps学习1:去除图片上的文字
- LeetCode 637. 二叉树的层平均值(层次遍历queue)
- php pdf 文字水印图片,php如何给pdf加上文字水印和图片水印[未测试]
- after you've written your business model
- java音频文件怎么打开_java 怎么读取音乐文件
- php 基类 是什么,PHP Model基类
- 江苏省计算机二级c语言考试知识点,计算机二级考试C语言常考知识点归纳
- SSh三大框架的作用
- ArcGIS操作小技巧(五)之色带-----横向(水平)图例
- c语言如何框出视频或图像中的车辆,视频图像中的车辆检测跟踪和分类
- quartusII编译时出现Error (119013): Current license file does not support the EP4CE6F17C8 device
- Photosho cs6安装字体教程
- Gossip费氏数列
- java对象赋值优雅写法_JavaScript优雅写法及骚操作
- linux根windows,linux系统刨根之路(二):实现windows和linux双系统-Go语言中文社区...
- 如何检测显卡类型和OpenGL版本
- win2003桌面图标蓝底去除