Collections实现Java容器复制的三种方法
来源:互联网 发布:良品铺子樱花果冻淘宝 编辑:程序博客网 时间:2024/06/06 17:37
在Java中,我们经常需要使用List等容器存储数据,有时需要进行将存储数据的容器进行复制备份,但是如果使用 newList=oldList ,则newList只是指向了oldList的引用,当oldList改变时,newList也会进行改变。本篇我列举了三种复制容器内容的方法,当其中一个容器的内容变化时,不会引起另一个容器内容的改变。
/*创建一个存储数据的ArrayList链表*/List<Integer> intList=new ArrayList<Integer>(Arrays.asList(new Integer[]{4,2,6,8,1}));System.out.println("intList的值为:"+intList);/*第一种方法*/List<Integer> newList1=new ArrayList<Integer>(Arrays.asList(new Integer[intList.size()]));Collections.copy(newList1, intList);System.out.println("newList1的值为:"+newList1);/*第二种方法*/List<Integer> newList2=new ArrayList<Integer>();Collections.addAll(newList2, new Integer[intList.size()]);Collections.copy(newList2, intList);System.out.println("newList2的值为:"+newList2);/*第三种方法*/List<Integer> newList3=new ArrayList<Integer>();newList3.addAll(intList);System.out.println("newList3的值为:"+newList3);/*改变intList的值,发现复制的List变量的内容都没有改变*/System.out.println("=============请叫我分界线=============");intList.set(1, new Integer(0));System.out.println("intList的值为:"+intList);System.out.println("newList1的值为:"+newList1);System.out.println("newList2的值为:"+newList2);System.out.println("newList3的值为:"+newList3);
阅读全文
0 0
- Collections实现Java容器复制的三种方法
- Collections容器的排序方法
- Collections容器的搜索方法
- java容器(三)-遍历打印的三种方法
- Java容器---遍历Collection,Set的三种方法
- [Java错误]使用Collections中的copy方法复制ArrayList产生的错误
- Java Arrays,Collections中addAll使用方法和初始化容器方法
- spring容器的三种初始化方法
- vector容器的三种遍历方法
- vector容器的三种遍历方法
- Java 实现复制文本文件的两种方法
- java实现键盘输入的三种方法
- JAVA实现线程的三种方法
- Java实现多线程的三种方法
- Java多线程实现的三种方法
- Java多线程的三种实现方法
- 复制文件的三种方法
- 【Java多线程】并发容器Collections
- Tomcat的class加载的优先顺序
- beego swagger文档自动化
- bat 学习
- Apache Maven 仓库使用的机制及基本配置(2)
- 极光推送实例
- Collections实现Java容器复制的三种方法
- 【笨鸟先飞】Java重新学习日记11---创建一个类
- The project: Test which is referenced by the classpath, does not exist.
- Maven 安装本地jar包到仓库中
- python——数据操作
- android Js交互进阶版
- GPU人脸识别构建智慧城市_你理想中的智能城市长啥样?
- 为什么Java成员类里面要写set、get等方法而不是直接public?
- mysql 表对象缓存