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.

相关文章
|
8月前
|
Java
Java 中数组Array和列表List的转换
Java 中数组Array和列表List的转换
59 0
|
10月前
|
数据处理 Python
|
6天前
字符串和list互转
字符串和list互转
10 0
|
2月前
使用List中的remove方法遇到数组越界
使用List中的remove方法遇到数组越界
17 2
|
3月前
|
Java
java List数组根据给定大小分割数组
在获取到很长的数组时,一次性处理数据量太大,需要分批处理,这就需要分批处理了。 1、使用List的subList,封装方法 2、google工具类型Lists的partition 经测试个人推荐使用第一种方法,效率上快了10几倍,估计是因为没有重新生成数组的原因
46 8
|
5月前
Spring-数组、List、Set、Map、Properties依赖注入格式
Spring-数组、List、Set、Map、Properties依赖注入格式
25 0
|
10月前
|
Java
java 数组与list的转换
java 数组与list的转换
54 0
|
5月前
|
存储 C# 索引
C# | 比较IEnumerable、List、数组
IEnumerable`定义了一组用于枚举集合的方法,包括`GetEnumerator`方法,该方法返回一个实现了`IEnumerator`接口的对象,用于枚举集合中的每个元素。`List`和数组都可以使用`foreach`循环来遍历其中的元素,这是因为它们都实现了`IEnumerable`接口。 由于数组在内存中开辟了一段连续的空间,因此可以直接通过索引访问元素,访问速度很快。而 List 则需要通过指针或引用来访问元素,速度相对较慢。 由于数组的大小是固定的,当需要添加或删除元素时,需要重新创建一个新数组,将原数组中的元素复制到新数组中,并添加或删除元素。
61 0
C# | 比较IEnumerable、List、数组
|
5月前
|
Python
Python(十七)python列表List(数组)(3)
九:列表循环 python 复制代码 list_one = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] for item in list_one: print(item) # 获取列表长度 print(len(list_one)) i = 0 # 通过数组长度遍历数组 while(i < len(list_one) ): print(list_one[i]) i += 1 十:列表的切片操作 划重点,列表的切片操作很重要 使用切片操作,切片之后,将产生一个新的列表对象 scss 复制代码 list_one =
25 0
|
5月前
|
索引 Python
Python(十七)python列表List(数组)(2)
四:更新列表 更新列表中的元素。 ini 复制代码 *#* *定义一个列表 *lists = ['Google', 'Runoob', 1997, 2000] *#* *打印更新前元素 *print("第三个元素为 : ", lists[2]) lists[2] = 2001 *#* *打印更新后元素 *print("更新后的第三个元素为 : ", lists[2]) 输出: 第三个元素为 : 1997 更新后的第三个元素为 : 2001 五:删除列表元素 删除元素,可以通过下标删除,也可以通过元素(指定要删除的元素)来删除 Del 关键字是可以将变量从内存
28 0