java数组与List互相转换

1.List转换为数组

   Collection<E> 都有toArray()方法,可以由List直接转换为数组。

public <T> T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组。

  如果指定的数组能容纳列表并有剩余空间(即数组的元素比列表的多),那么会将数组中紧跟在集合末尾的元素设置为 null。这对确定列表的长度很有用,但只 在调用方知道列表中不包含任何 null 元素时才有用。

2.数组转换为List

Arrays.asList();

public static <T> List<T> asList(T... a)返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直写”到数组。)此方法同 Collection.toArray 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。

  此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

需要注意的是,转换的List其实不是一个新的对象,而是对原来的数组进行操作,而且remove() add()方法都不能使用。可以稍微做下改变,如下例子。

String[] array={"1","2"};

List<String> list=new ArrayList(Arrays.asList(array));

这样就生成了一个新的对象,有必要的话,可以用1的方法再转换为数组。

时间: 2024-08-25 16:54:11

java数组与List互相转换的相关文章

Java数组与列表转换的java.lang.ClassCastException

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer; at com.bupt.acm.test.TestArrayList.main(TestArrayList.java:12) ava.lang.ClassCastException是进行强制类型转换的时候产生的异常,强制类型转换的前提是父类引用指向的对象的类

Java数组操作十大方法

0.定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"}; 第一种是定义了一个数组,并

使用json-lib进行Java和JSON之间的转换

1. json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能. 2. json-lib 主页 : http://json-lib.sourceforge.net/ 3.执行环境 需要以下类库支持 jakarta commons-lang 2.5 jakarta commons-beanutils 1.8.0 jakarta commons-collections 3

七、java数组

目录 一.一维数组 声明方式 数组对象的创建 元素为引用数据类型的数组 数组初始化 数组元素默认初始化 数组元素的引用 二.二维数组 概念 初始化 二维数组举例 三.数组的拷贝 四.练习 数组可以堪称是多个相同类型数据组合,对这些数据的统一管理 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量 数组中的元素可以是任何数据类型,包括基本类型和引用类型 一.一维数组 1.声明方式: type var [ ] ; 或 type [ ] var ; 例如: int a1

Java - 数组解析

java提高篇(十八)-----数组之一:认识JAVA数组 一.什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸是不可变的! 但是这只是数组的最表面的东西!深一点?就是这样:数组是一个简单的复合数据类型,它是一系列有序数据的集合,它当中的每一个数据都具有相同的数据类型,我们通过数组名加上一个不会越界下标值来唯一确定数组中的元素. 还有更深的,那就是数组是一个特殊的对象!!(对于这个LZ理解的不是很好,对JVM

Java数组操作的10大方法(转)

0.定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"}; 第一种是定义了一个数组,并

Java数组技巧攻略

  Java数组技巧攻略 0.  声明一个数组(Declare an array) [js] view plaincopyprint? String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b",&q

使用json-lib进行Java和JSON之间的转换【转载】

1. json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能. 2. json-lib 主页 : http://json-lib.sourceforge.net/ 3.执行环境 需要以下类库支持 jakarta commons-lang 2.5 jakarta commons-beanutils 1.8.0 jakarta commons-collections 3

Java数组转换为List的实践

不曾想到,"Java数组转换为List"竟然有这么多的学问,震撼之余夹带些许不堪.关于"Java数组转换为List"其实是非常基础的知识,况且有很多人在博客中均有所讨论,难免让我觉得写这样的讨论文章显得多少没有必要!转念想到"不积硅步,无以成千里",于是强迫自己再次对该问题做一些深层次的实践. 一.Create ArrayList from array Create ArrayList from array在stackoverflow上引发的讨论