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

相关推荐
PPPPickup1 分钟前
实习日志5.7
java
_Evan_Yao2 分钟前
return 的迷途:try-catch-finally 中 return 的诡异顺序与 Spring 事务暗坑
java·后端·spring·mybatis
薛定谔的猫喵喵3 分钟前
Spring Boot Jar包修改配置文件和Class中硬编码IP的完整指南
java·spring boot·反编译·class
Seven976 分钟前
Tomcat Request请求处理过程:Connector
java
Mr数据杨7 分钟前
【Codex】搭建教学中心数据工作台统筹教案与课件资源
java·开发语言·django·codex·项目开发
摇滚侠18 分钟前
Java 项目教程《黑马商城》服务治理 11 - 14
java·微服务·架构
一只大袋鼠20 分钟前
Spring 事务管理三种实现方式
java·数据库·spring·声明式事务
郝学胜-神的一滴25 分钟前
高并发秒杀系统设计全解:从需求拆解到Redis库存实战
java·数据库·redis·python·程序人生·缓存·php
NE_STOP29 分钟前
Redis--哨兵机制与CAP定理
java
书源丶31 分钟前
四十二、网络编程(上)——IP、端口与 UDP 编程
java·网络·tcp/ip·udp