在Java开发中,有时候我们为了源List集合的数据不被修改,如果采用类似“new_list = old_list”这种形式来复制克隆一个新的List集合是绝对不行的,所以我们得采用下面的三种方法来复制一个新的List集合。
Java克隆复制ArrayList等List集合的方法一:
Java中克隆复制一个List可以在创建List对象时通过将源List集合以参数的形式传入即可,代码如下:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; class Example { public static void main(String[] args) { // Create a list List<String> original = Arrays.asList( "GeeksForGeeks", "A Computer Science", "Portal"); // Clone the list List<String> cloned_list = new ArrayList<String>(original); System.out.println(cloned_list); } }
上述克隆复制出一个新的List集合cloned_list对象,输出结果如下:
[GeeksForGeeks, A Computer Science, Portal]
方法二:通过List集合的addAll()方法复制克隆一个新的List集合,代码如下:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; class Example { public static void main(String[] args) { // Create a list List<String> original = Arrays.asList( "GeeksForGeeks", "A Computer Science", "Portal"); List<String> cloned_list = new ArrayList<String>(); // Cloning a list cloned_list.addAll(original); System.out.println(cloned_list); } }
方法三:通过Java 8的Streams方法来克隆复制一个新的List集合,代码如下:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; // Program to clone a List in Java class Example { public static void main(String[] args) { // Create a list List<String> original = Arrays.asList( "GeeksForGeeks", "A Computer Science", "Portal"); // Clone a list List<String> cloned_list = original.stream() .collect(Collectors.toList()); System.out.println(cloned_list); } }
Java中克隆复制一个新的List集合最常用的就是这三个方法了。