Java数组和List互相转换详解及示例代码
1. 数组和 List 之间的转换
1.1 引言
在Java编程中,数组和List是两种常用的数据结构。数组是一个固定长度的容器,而List是一个动态扩展的容器。数组和List之间的转换在实际开发中非常常见,本文将介绍如何在Java中进行数组和List之间的转换,包括数组转List和List转数组。
1.2 数组转List
在Java中,可以使用Arrays类的asList()方法将数组转换为List。下面是一个示例代码:
import java.util.Arrays;
import java.util.List;
public class ArrayToListExample {
public static void main(String[] args) {
String[] array = {"Apple", "Banana", "Orange"};
List<String> list = Arrays.asList(array);
System.out.println(list);
}
}
运行上述代码,输出结果为:
[Apple, Banana, Orange]
在上述代码中,我们首先定义了一个String类型的数组array,然后使用Arrays.asList(array)方法将数组转换为List,最后打印List的内容。可以看到,数组中的元素被转换为List中的元素。
需要注意的是,使用asList()方法转换的List是一个固定长度的List,不能进行添加或删除操作。如果需要在转换后的List中进行增删操作,可以通过创建ArrayList对象来实现。示例代码如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ArrayToListExample {
public static void main(String[] args) {
String[] array = {"Apple", "Banana", "Orange"};
List<String> list = new ArrayList<>(Arrays.asList(array));
list.add("Grape");
System.out.println(list);
}
}
运行上述代码,输出结果为:
[Apple, Banana, Orange, Grape]
在上述代码中,我们首先使用Arrays.asList(array)方法将数组转换为List,然后使用ArrayList的构造函数创建一个新的ArrayList对象,并将转换后的List作为参数传入。这样就可以在转换后的List中进行添加操作。
1.3 List转数组
在Java中,可以使用List的toArray()方法将List转换为数组。下面是一个示例代码:
import java.util.ArrayList;
import java.util.List;
public class ListToArrayExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
String[] array = list.toArray(new String[list.size()]);
for (String fruit : array) {
System.out.println(fruit);
}
}
}
运行上述代码,输出结果为:
Apple
Banana
Orange
在上述代码中,我们首先创建了一个ArrayList对象list,并向其中添加了几个元素。然后,通过调用list.toArray()方法将List转换为数组,并将数组赋值给String类型的array变量。最后,使用增强for循环遍历数组,并打印数组中的每个元素。
需要注意的是,list.toArray()方法返回的是一个Object类型的数组,如果需要转换为指定类型的数组,可以传入一个空数组,并指定类型,如上述代码中的new String[list.size()]。在运行时会根据传入的空数组的类型进行转换。
1.4 小结
本文介绍了在Java中数组和List之间的转换方法,包括数组转List和List转数组。通过使用asList()方法和toArray()方法,可以方便地在数组和List之间进行转换。在转换中需要注意asList()方法得到的List是一个固定长度的List,如果需要进行增删操作,可以通过创建ArrayList对象来实现。