List 和 数组互转 以及一些坑

简介: List 和 数组互转 以及一些坑

在 Java 中如何实现数组和 List 之间的转换?


  • 数组转 List:使用 Arrays. asList(array) 进行转换。


  • List 转数组:使用 List 自带的 toArray() 方法。


代码如下:


// list to array
List<String> list = new ArrayList<String>();
list.add("SNOW");
list.add("JOOO");
list.toArray();
// array to list
String[] array = new String[]{"西安","4杭州"};
Arrays.asList(array);


但是这期间有些暗坑:


暗坑1:


使用 Arrays. asList(array) 时候,参数放基本类型会有暗坑:


 int[] arr = {1, 2, 3 ,4 ,5, 6};
 List list = Arrays. asList(arr);


此时 会认为你存入 list 集合的是一个数组对象,也就意味着此时 list 的长度为1。这块要注意!


暗坑2:


Arrays. asList(array) 返回的 List 不支持修改。


暗坑3:


适用 Arrays. asList(array) 的时候,对原始数组修改会影响到我们获取的那个List.

相关文章
|
Java
Java 中数组Array和列表List的转换
Java 中数组Array和列表List的转换
84 0
|
6月前
如何实现数组和 List 之间的转换?
如何实现数组和 List 之间的转换?
|
5月前
|
JSON fastjson 数据格式
使用jackson和fastjson实现list与json互转
使用jackson和fastjson实现list与json互转
|
5月前
|
存储 NoSQL 安全
Redis第六弹-List列表-(相当于数组/顺序表)Lpush key element-一次可以插入多个元素(假如key已经存在,并且key对应的value并非是list,则会报错)
Redis第六弹-List列表-(相当于数组/顺序表)Lpush key element-一次可以插入多个元素(假如key已经存在,并且key对应的value并非是list,则会报错)
|
5月前
|
存储 Dart
Dart中的集合类型:List(数组/列表)
Dart中的集合类型:List(数组/列表)
137 0
|
6月前
字符串和list互转
字符串和list互转
58 0
|
6月前
使用List中的remove方法遇到数组越界
使用List中的remove方法遇到数组越界
97 2
|
6月前
|
存储 索引 Python
多数pythoneer只知有列表list却不知道python也有array数组
多数pythoneer只知有列表list却不知道python也有array数组
64 0
|
6月前
|
Java
Java中拷贝list数组如何实现
Java中拷贝list数组如何实现
54 0
|
6月前
|
Java
java List数组根据给定大小分割数组
在获取到很长的数组时,一次性处理数据量太大,需要分批处理,这就需要分批处理了。 1、使用List的subList,封装方法 2、google工具类型Lists的partition 经测试个人推荐使用第一种方法,效率上快了10几倍,估计是因为没有重新生成数组的原因
263 8