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

相关推荐
雨中飘荡的记忆1 天前
MyBatis反射模块详解
java·mybatis
宸津-代码粉碎机1 天前
Spring 6.0+Boot 3.0实战避坑全指南:5大类高频问题与解决方案(附代码示例)
java·数据仓库·hive·hadoop·python·技术文档编写
笃行客从不躺平1 天前
ThreadLocal 复习一
java·开发语言
程序帝国1 天前
SpringBoot整合RediSearch(完整,详细,连接池版本)
java·spring boot·redis·后端·redisearch
安卓程序员_谢伟光1 天前
如何监听System.exit(0)的调用栈
java·服务器·前端
Pluto_CSND1 天前
JSONPath解析JSON数据结构
java·数据结构·json
xiaoliuliu123451 天前
Tomcat Connectors 1.2.32 源码编译安装教程(含 mod_jk 配置步骤)
java·tomcat
CYTElena1 天前
JAVA关于集合的笔记
java·开发语言·笔记
源码获取_wx:Fegn08951 天前
基于springboot + vueOA工程项目管理系统
java·vue.js·spring boot·后端·spring
短剑重铸之日1 天前
《Java并发编程研读》第三章:锁机制
java·java并发编程·java锁机制