在Java中,可以将数组(array)和列表(list)相互转换,但需要注意一些细节和限制。以下是一些示例和说明:
从数组到列表:
使用Arrays.asList()
方法:可以使用Arrays.asList()
方法将数组转换为列表。这个方法返回一个List
视图,不支持添加或删除元素,只能修改现有元素的值。这是一个固定大小的列表。
String[] array = {"A", "B", "C"};
List<String> list = Arrays.asList(array);
使用循环逐个元素添加:您可以遍历数组并逐个元素添加到列表中,这样可以创建一个可修改的列表。
String[] array = {"A", "B", "C"};
List<String> list = new ArrayList<>(Arrays.asList(array));
从列表到数组:
使用toArray()
方法:可以使用List
接口的toArray()
方法将列表转换为数组。需要传入一个目标数组,如果目标数组的大小不足以容纳列表中的元素,它将创建一个新数组。
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String[] array = list.toArray(new String[0]);
注意:传递一个大小为0的目标数组是一种惯用做法,因为它会自动创建正确大小的新数组。
使用stream
和toArray()
方法(Java 8及更高版本):可以使用Java 8中引入的stream
和toArray()
方法来将列表转换为数组。
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String[] array = list.stream().toArray(String[]::new);