List:

List list = new ArrayList();
Map map = null;
map = new HashMap();
map.put("a", 1);
list.add(map);
map = new HashMap();
map.put("b", 2);
System.out.println(list);
//输出[{a=1}]
List list = new ArrayList();
Map map = null;
map = new HashMap();
map.put("a", 1);
list.add(map);
map.put("b", 2);
System.out.println(list);
//输出[{a=1, b=2}]

Map:

Map map = new HashMap();
Dog dog = new Dog("dog1");
map.put("dog", dog);
dog.setName("dog2");
System.out.println(map);
//输出{dog=dog2}
Map map = new HashMap();
Dog dog = new Dog("dog1");
map.put("dog", dog);
dog = new Dog("dog2");
System.out.println(m);
//输出{dog=dog1}

也就是说,往容器中添加对象A,容器内部会有引用指向被添加的对象A本身,而不依赖容器外的A的引用。但是容器并不会创建A对象的副本,对A对象的任何修改都会影响容器内引用所指向的内容(也就是A)。

另外对获取的容器的Collection内容进行操作会影响容器内容:

public static void main(String[] args) {HashMap<String, String> map = new HashMap<String, String>();map.put("A", "aaa");map.put("B", "bbb");System.out.println(map); //{A=aaa, B=bbb}Collection<String> values = map.values();values.remove("aaa");System.out.println(map); //{B=bbb}
}

map.keySet();map.entrySet();map.values(); 这些操作返回的容器内容都指向map的内容对象,所以不要改变这些方法返回的容器的内容引用所指向的对象。

在遍历容器的时候,改变容器的长度会抛出java.util.ConcurrentModificationException

public static void main(String[] args) {List<String> list = new ArrayList<String>();list.add("AAA");for(String s : list){list.add("BBB");}
}

转载于:https://www.cnblogs.com/xuejianbest/p/10285304.html

java中容器如何维护其内容相关推荐

  1. java容器:1、java中容器有哪些?

    文章目录 java中容器有哪些? 1.什么是容器? 2.java中容器有哪些? java中容器有哪些? 1.什么是容器? 容器就是用来存放和管理对象的对象. 2.java中容器有哪些? (1)数组 数 ...

  2. java 从excel中读取数据_在Java中读取Excel文件的内容和导出数据到Excel文件中

    转自www.chianjavaworld.net 原作者:SonyMusic 读:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 在Java ...

  3. java中bean文件主要实现内容_JavaBean简单及使用

    转自:https://www.cnblogs.com/mq0036/p/3873406.html 一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可 ...

  4. Java中Date及Timestamp时间相关内容【转】

    2019独角兽企业重金招聘Python工程师标准>>> Java SQL DAO java.util.date java.sql.date java.sql.timestamp 整理 ...

  5. 在java中在线解析XML文件内容

    这里的天气属性有很多,可以根据自己的需求获取天气属性 这里用到了org.json的jar包,因为要使用XML属性解析数据,还有alibab.JAONObject的jar包  /*** 天气预报-更新* ...

  6. java中读取excel数据类型_在Java中读取Excel文件的内容

    利用JExcelApi来动态生成excel文档 首先,请到http://www.andykhan.com/jexcelapi/index.html下载java excel api,主页上同时有比较详细 ...

  7. java中容器里的增删改查_Java工程师的第八天——简单的增删改查的应用

    package day08; import java.util.Scanner; /** * * @author sun changxin * 习题:数组完成增删改查(CRUD) 1.字符串类型的数组 ...

  8. java中两个xml文件内容拼接_比较Java中2个XML文档的最佳方法

    慕丝7291255 听起来像是XMLUnit的工作http://www.xmlunit.org/https://github.com/xmlunit例子:public class SomeTest e ...

  9. Java中容器大全(Java基础篇)

  10. java读取文件中的字符串_java中怎样将文件的内容读取成字符串

    java中怎样将文件的内容读取成字符串 mip版  关注:68  答案:3  悬赏:10 解决时间 2021-01-18 02:36 已解决 2021-01-17 04:47 java中怎样将文件的内 ...

最新文章

  1. SAP ME55 不能审批含有Delete Item的采购申请单据
  2. 算法面试:精选微软经典的算法面试100题(第1-20题)
  3. Py入门第二天 ,喜欢的老铁可以关注一波 ,没准儿哪天就不更了。。。
  4. 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?
  5. 前端入行两年--教会了我这些道理
  6. [css] 如果css文件过大时,如何异步加载它?
  7. 東方 project 联机版开发日记(1)
  8. java版本不兼容_java 中jdk版本不兼容的问题小记
  9. 【数据库系统设计】DBMS的数据库保护
  10. Hdu 1794 【二维成段更新】.cpp
  11. text展示html,textview完美展示html格式代码
  12. 读书-算法《程序设计导引及在线实践》-简单计算题1:鸡兔同笼
  13. 发动机压缩比怎么计算公式_发动机要多大的压缩比热效率才能达到达到60%?
  14. 火车头 mysql发布模块_怎么使用火车采集器中的数据库发布模块编辑器
  15. python爬取微信好友信息
  16. 云服务器添加交换分区
  17. 《Mysql必知必会》笔记
  18. python爬取公众号历史文章
  19. 怎样在表格中选出同一类_excel表格怎么将相同内容筛选出来
  20. matlab英文字母对应数字,MATLAB编程:大写英文字母转换成数值(0-25)两种代码

热门文章

  1. 算法:Sliding Window Maximum(滑动窗口最大值)
  2. 【Python】statsmodels.formula.api模块中ols参数的解释
  3. DSSM核心思想是把查询文本(query)和内容文本(doc)映射到同维度的语义空间中, 以最优化查询文本和内容文本的语义向量之间的余弦相似度为目的
  4. 462.最少移动次数使数组元素相等II
  5. 解决办法!!!!UnsatisfiedLinkError: Failed to find the required library mclmcrrt9_0.dll on java.library.
  6. 机器学习课程 Neural Netword for Machine Learning笔记
  7. 聚类算法 optics
  8. 掌握用 STL 中的 SET 动态维护 “各类型凸壳” / “凸包”
  9. LaTeX 修改中文摘要名字
  10. 监控延迟严重怎么解决_监控画面故障解决:网络监控画面没有图像显示或无视频信号怎么办...