ArrayList和Array之间的转换
- ArrayList转Array
(1):使用ArrayList的toArray方法。
1)当ArrayList中存放的是引用类型时(例如String),成功
/**
* 使用了ArrayList的toArray方法 ,ArrayList里存放的是String(引用类型)
*/
@Test
public
void list2Array1() {ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("1");
arrayList.add("2");
arrayList.add("3");
Object[] array = arrayList.toArray(new String[3]);
for (Object o : array) {
System.out.println(o);
}
}
输出为:
[1, 2, 3]
2) 当ArrayList中存放的是基本数据类型时(例如int),成功
/**
* 使用了ArrayList的toArray方法 , ArrayList里存放的是int(基本数据类型)
*/
@Test
public
void list2Array2() {ArrayList<Integer> arrayList = new ArrayList<Integer>();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
Object[] array = arrayList.toArray();
System.out.println(Arrays.toString(array));
}
输出为:
[1, 2, 3]
- Array转ArrayList
(1):使用Arrays的asList方法。
1)当Array中存放的是引用类型时(例如String),成功
/**
* 使用Arrays的asList方法,Array中存放的String(引用类型)
*/
@Test
public
void array2List1() {String[] stringArray = new String[] { "1", "2", "3" };
List<String> list = Arrays.asList(stringArray);
System.out.println(list);
}
输出为:
[1, 2, 3]
2) 当Array中存放的是基本数据类型时(例如int),不成功
/**
* 使用Arrays的asList方法,Array中存放int(基本类型)
*/
@Test
public
void array2List2() {int[] intArray = new
int[] { 1, 2, 3 };List<int[]> intList = Arrays.asList(intArray);
System.out.println(intList.size());
for (int[] is : intList) {
System.out.println(Arrays.toString(is));
}
}
输出为:
[[I@14514713]
List的长度为 : 1
[1, 2, 3]
这个问题解决的方法就是将int[]换成Integer[],这样内容就成了对象数组(即引用类型)。
/**
* 使用Arrays的asList方法,Array中存放int(基本类型)
*/
@Test
public
void array2List3() {Integer[] integerArray = { 1, 2, 3 };
List<Integer> intList = Arrays.asList(integerArray);
System.out.println(intList);
System.out.println("List的长度为 : " + intList.size());
for (Integer is : intList) {
System.out.println(is);
}
}
输出为:
[1, 2, 3]
List的长度为 : 3
参考文献:
ArrayList和Array之间的转换的更多相关文章
- ArrayList和List之间的转换
开发中不免碰到List与数组类型之间的相互转换,举一个简单的例子: package test.test1; import java.util.ArrayList; import java.util.L ...
- Java-Collection、Map及Array之间的转换
1 List -> Map 设个User类: public class User { private String userName; private String userId; privat ...
- Java-Collection、Map和Array之间的转换
1 List -> Map 设个User类: public class User { private String userName; private String userId; privat ...
- C#中ArrayList 、Array与、string、string[]数组的相关转换
一.ArrayList 与 string.string[]数组的转换 1.ArrayList 转换为 string[] : ArrayList list = new ArrayList(); list ...
- 37.Activity之间的转换以及数据的传递(Intent)学习
Intent简介: 在一个Androi ...
- JAVA中list,set,数组之间的转换详解
JAVA的list,set,数组之间的转换,主要是使用Apache Jakarta Commons Collections,具体的方法如下:import org.apache.commons.coll ...
- Java 集合 集合与数组之间的转换
Java 集合 集合与数组之间的转换 @author ixenos 数组转集合 Arrays.asList(T... a) 先给结论:用 Arrays.asList(T... a) 将数组转换成集合 ...
- java中 列表,集合,数组之间的转换
java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...
- JSON字符串和JS对象之间的转换
JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象 JSON字符串 str JSON.parse(str) eval(str) eva ...
随机推荐
- IOS Note - View Controller(视图控制器)
Application Delegate(应用程序委托) Application Name: SingleView SingleViewAppDelegate.h #import <UIKit/ ...
- Codeforces Round #277 (Div. 2) E. LIS of Sequence DP
E. LIS of Sequence Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/486/pr ...
- grunt自动化工具
Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. 安装 CLI 首先,需要先将Grunt命令行(CLI)安装到全局环境中. npm install - ...
- MHA手动切换 原创1(主故障)
MHA提供了3种方式用于实现故障转移,分别自动故障转移,需要启用MHA监控: 在无监控的情况下的手动故障转移以及基于在线手动切换. 三种方式可以应对MySQL主从故障的任意场景.本文主要描述在无监控的 ...
- 进程控制之system函数
ISO C定义了system函数,但是其操作对系统的依赖性很强.POSIX.1包括了system接口,它扩展了ISO C定义,以描述system在POSIX.1环境中的运行行为. #include & ...
- Mac电脑没有声音,苹果电脑没有声音怎么办
对于使用 Windows 系统电脑的小伙伴来说,可能有很多人会遇到电脑没有声音的问题.苹果 Mac 电脑也会出现没有声音的问题,不过相对较少.这里以我遇到的一个没有声音的问题为例,简单介绍处解决的 ...
- centos6安装redis
1.检查安装依赖程序 yum install gcc-c++ yum install -y tcl yum install wget 2.获取安装文件 wget http://download.red ...
- Intellij IDEA 使用Debug模式运行非常慢
今天在用Debug的时候,idea运行非常慢,搜了一下有人说: 自己检查发现果然如此,把在方法前的断点去掉(移到方法体内),就正常了.
- UVA 539 The Settlers of Catan dfs找最长链
题意:画边求最长链,边不能重复数点可以. 很水,用暴力的dfs即可,因为数据不大. 本来以为可以用floyd进行dp的,后来想想好像不能在有回路上的图跑...于是没去做. #include <c ...
- Linux vsftp
本机环境CentOS-6.6-i386-bin-DVD1.iso安装盘.安装时选择minimal模式.本机IP地址配置为192.168.0.211. 1.查询系统是否已安装了vsftpd [root@ ...