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

相关推荐
JIngJaneIL4 分钟前
基于Java非遗传承文化管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
南部余额33 分钟前
踩坑与解惑:深入理解 SpringBoot 自动配置原理与配置排除机制
java·spring boot·自动配置原理·import
木鹅.2 小时前
LangChain4j
java
永远都不秃头的程序员(互关)2 小时前
Java核心技术精要:高效实践指南
java·开发语言·性能优化
CoderYanger3 小时前
动态规划算法-子序列问题(数组中不连续的一段):28.摆动序列
java·算法·leetcode·动态规划·1024程序员节
代码栈上的思考3 小时前
深入解析Spring IoC核心与关键注解
java·后端·spring
Mai Dang3 小时前
SpringBoot4用Swagger
java
geekmice4 小时前
实现一个功能:springboot项目启动将controller地址拼接打印到txt文件
java·spring boot·后端
老华带你飞4 小时前
旅游|基于Java旅游信息系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·旅游