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

相关推荐
椰羊~王小美几秒前
主流编程语言及工具的典型应用场景总结
java
妙蛙种子3115 分钟前
【Java设计模式 | 创建者模式】建造者模式
java·开发语言·后端·设计模式·建造者模式
knowwen10 分钟前
2026年4月13日 Java笔试题
java·开发语言
环流_12 分钟前
多线程2(Java线程的状态)
java·开发语言
zihao_tom16 分钟前
Spring 简介
java·后端·spring
C雨后彩虹33 分钟前
Java Lambda & Stream 避坑指南:20个高频错误案例分析与修复
java·stream·lambda·并行流
环流_36 分钟前
多线程3(线程安全问题及解决方案)
java·开发语言
小马_xiaoen1 小时前
前端虚拟列表(Virtual List)从原理到实战:海量数据渲染终极方案
前端·数据结构·list
FeBaby1 小时前
Java 高并发场景下 Redis 分布式锁(UUID+Lua)最佳实践
java·redis·分布式
落子君1 小时前
设计模式之【 断路器模式】
java