在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集合最常用的就是这三个方法了。