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

相关推荐
未若君雅裁12 小时前
LeetCode 51 - N皇后问题 详解笔记
java·数据结构·笔记·算法·leetcode·剪枝
失散1312 小时前
架构师级别的电商项目——2 电商项目核心需求分析
java·分布式·微服务·架构·需求分析
Kuo-Teng13 小时前
LeetCode 198: House Robber
java·算法·leetcode·职场和发展·动态规划
小七mod13 小时前
【Spring】Spring Boot自动配置的案例
java·spring boot·spring·自动配置·源码·ioc·aop
红石榴花生油13 小时前
Docker + Nginx 部署 Java 项目(JAR 包 + WAR 包)实战笔记
java·tomcat·maven
带刺的坐椅13 小时前
Solon AI 开发学习 - 1导引
java·ai·openai·solon·mcp
sg_knight13 小时前
RabbitMQ 中的预取值(prefetch)详解:如何真正提升消费端性能?
java·spring boot·spring·spring cloud·消息队列·rabbitmq·预取值
Dxxyyyy13 小时前
零基础学JAVA--Day34(Map接口+HashTable+HashMap+TreeSet+TreeMap+开发中如何选择集合实现类?(重要))
java·开发语言
spencer_tseng14 小时前
Tomcat Source Code Distributions
java·tomcat
烤麻辣烫14 小时前
23种设计模式(新手)-5里氏替换原则
java·学习·设计模式·intellij-idea·里氏替换原则