对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没变

相关推荐
Carino_U几秒前
并发编程之CPU缓存架构&Disruptor
java·缓存·架构
小雅痞8 分钟前
[Java][Leetcode middle] 54. 螺旋矩阵
java·leetcode·矩阵
ooseabiscuit14 分钟前
Laravel6.x新特性全解析
java·开发语言·后端·mysql·spring
青山师16 分钟前
Java内存模型深度解析:Happens-Before规则与内存屏障实现原理
java·spring·面试·职场和发展·java程序员·jmm
Seven9720 分钟前
万字长文背诵最新Agent常见试题
java
XiYang-DING21 分钟前
【Java EE】网络通信中的 4 种交互模式
java·java-ee·交互
xinhuanjieyi24 分钟前
vscode插件,.sec / .inc / .sc 文件添加关键字高亮
java·服务器·vscode
Mr_pyx33 分钟前
RAG知识库从零到一:简单搭建教程(java版)
java·spring·ai·rag
敲代码的瓦龙35 分钟前
Android?碎片!!!
java·开发语言·android-studio
月落归舟38 分钟前
深入解析Spring依赖注入 DI 的三种方式
java·后端·spring