在Java中,数组和List
是两种常用的集合类型,它们之间可以很方便地进行相互转换。以下是具体的方法:
数组转换为 List
- 使用 Arrays.asList() 方法
- Java 提供了
Arrays
类的asList()
方法,可以快速将一个数组转换为List
。 - 注意:通过这种方式得到的
List
实际上是一个固定大小的列表,它是Arrays.asList()
返回的内部类的一个实例。这意味着你不能添加或删除元素(这会抛出UnsupportedOperationException
),但你可以修改现有元素。
import java.util.Arrays;
import java.util.List;
public class ArrayToListExample {
public static void main(String[] args) {
String[] array = {"A", "B", "C"};
List<String> list = Arrays.asList(array);
System.out.println(list); // 输出: [A, B, C]
}
}
- 如果你需要一个可以增删元素的
List
,可以通过以下方式创建:
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
public class ArrayToListMutableExample {
public static void main(String[] args) {
String[] array = {"A", "B", "C"};
List<String> list = new ArrayList<>(Arrays.asList(array));
System.out.println(list); // 输出: [A, B, C]
}
}
List 转换为数组
- 使用 List 的 toArray() 方法
List
接口提供了一个toArray()
方法来将List
转换为数组。不过,默认情况下它返回的是Object[]
类型的数组,因此需要传递一个指定类型的数组作为参数来获取指定类型的数组。
import java.util.Arrays;
import java.util.List;
public class ListToArrayExample {
public static void main(String[] args) {
List<String> list = Arrays.asList("A", "B", "C");
String[] array = list.toArray(new String[0]);
System.out.println(Arrays.toString(array)); // 输出: [A, B, C]
}
}
总结
- 将数组转换为
List
可以使用Arrays.asList()
方法,但需要注意这种方法生成的List
是固定大小的。如果需要可变大小的List
,应使用new ArrayList<>(Arrays.asList(...))
来创建。 - 将
List
转换为数组则可通过List
的toArray(T[] a)
方法完成。为了获得正确的数组类型,通常需要传入一个与目标类型相匹配的新数组对象作为参数。 - 这些方法使得在数组和
List
之间进行转换变得简单直接,可以根据实际需求选择最适合的方式。理解这些转换的基本原理对于有效处理不同数据结构之间的交互非常重要。
THE END
暂无评论内容