对java中的List进行深拷贝,并进行删除测试

List<String> list = new ArrayList<>(); // 需要拷贝的原始List

list.add("aaa");

list.add("bbb");

list.add("ccc");

List<String> listNew = new ArrayList<>(); // 新List

// 将原始List的值赋值给新List

CollectionUtils.mergeArrayIntoCollection(new Object[list.size()], listNew);

Collections.copy(listNew, list);

// 现在将心List中的值删除一个,会发现不影响原始List,例如:

List<String> list_remove= new ArrayList<>(); // 中间List

for (String s : listNew){

if("aaa".equals(s)){

list_remove.add(s);

}

}

listNew.removeAll(list_remove);

System.out.println(listNew); // [bbb, ccc]

System.out.println(list); // [aaa, bbb, ccc] 原始list没变

相关推荐
杰克尼2 分钟前
3. 分巧克力
java·数据结构·算法
听风吟丶4 分钟前
Java 高级多线程编程:从虚拟线程到结构化并发的实战演进
java·开发语言
o***59275 分钟前
Spring 过滤器:OncePerRequestFilter 应用详解
java·后端·spring
稚辉君.MCA_P8_Java9 分钟前
Gemini永久会员 三个线程(A、B、C)交替执行
java·后端·架构
lijiatu1008611 分钟前
C++ 类成员变量声明语法错误
java·开发语言·c++
Monly2120 分钟前
Java八股文:Redis篇
java·开发语言·redis
L***p31334 分钟前
Spring Boot 经典九设计模式全览
java·spring boot·设计模式
故事不长丨44 分钟前
C#线程的使用
java·microsoft·c#
豆沙沙包?1 小时前
2025年--Lc297-3427. 变长子数组求和--java版
java
乐观主义现代人1 小时前
go 面试
java·前端·javascript