java clear new_Java基础之Map的clear和new的区别
Java基础之Map的clear和new的区别
Java基础之Map的clear和new的区别
void clear();
从此映射中删除所有映射。 此调用返回后,Map将为空。
new HashMap<>();
使用默认初始容量(16)和默认加载因子(0.75)构造一个空的HashMap。
Map的clear和new的区别
// 将Map放入List看一下效果,下面是代码演示
方案一:
public static void main(String[] args) {
Map map1 = new HashMap<>(5);
List> list1 = new ArrayList<>();
for (int i = 0; i < 5; i++) {
map1.clear();
map1.put(i, i * 2);
list1.add(map1);
}
System.out.println(list1);
}
运行结果
方案二:
public static void main(String[] args) {
Map map2 = null;
List> list2 = new ArrayList<>(5);
for (int i = 0; i < 5; i++) {
map2 = new HashMap<>();
map2.put(i, i * 2);
list2.add(map2);
}
System.out.println(list2);
}
运行结果
clear和new的区别
方案一:我们只是把map.clear了(查看clear的源码,clear的作用是把map里每个属性设置为null,并把map的长度设置为0)。并没有销毁,map的指针还是存储在list里面了,所以后面新add到list里面的东西都是同一个map,都是指向同一个map,list里面存储的是map的指针;
方案二:每次创建新的map,每次都是不同的引用;
Java基础之Map的clear和new的区别相关教程
java clear new_Java基础之Map的clear和new的区别相关推荐
- JAVA程序设计----集合基础之Map
Map接口不是继承Collection接口,它与Collection接口是并列存在的,用于储存键-值对(key-value)形式的元素,描述了有不重复的键到值的映射. Map中的key(键)和valu ...
- JAVA集合Connection接口和Map接口常用的类及区别
JAVA集合详解 文章目录 JAVA集合详解 前言 一.集合是什么? 1. 集合类 2.集合和数组的区别: 二.使用步骤 一.Connection接口(单列集合) 1.List和Set的优缺点 2.总 ...
- JAVA:【基础三】split忽略中英文的符号区别
需求: 在解析工作中,由于输入人员的不注意,常常会有中文逗号",",以及英文逗号","的同时存在. 作为码农,我们可以使用正则表达式来兼容中英文的符号. 一.示 ...
- Map的clear踩坑
自己太蠢代码如下: List<Map<String, Object>> listMap = new ArrayList<Map<String, Object> ...
- Java基础之Map集合
Map集合: 1.Map集合与Collection集合的区别: 1.Collection中的集合,元素是孤立存在的,向集合中存储元素采用一个个元素的方式存储. 2.Map中的集合1,元素是成对存在的, ...
- Java集合Set,List和Map等
Java集合Set,List和Map等 1 Java集合框架 因为Java是面向对象的语言,对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.另一方面,使用Array存储对象 ...
- Java NIO编程基础
Java NIO编程基础 Java NIO 基本介绍 NIO的Buffer基本使用 NIO 和 BIO 的比较 NIO 三大核心原理示意图 缓冲区(Buffer) 基本介绍 Buffer 类及其子类 ...
- java开发必备基础
Java总复习 java知识总复习 第一章:java概述: 1:Java的历史: Java诞生于SUN(Stanford University Network),09年SUN被Oracle(甲骨文 ...
- Java并发编程的艺术-Java并发编程基础
第4章 Java并发编程基础 Java从诞生开始就明智地选择了内置对多线程的支持,这使得Java语言相比同一时期的其他语言具有明显的优势.线程作为操作系统调度的最小单元,多个线程能够同时执行,这将 ...
- Java EE开发基础
Java EE开发基础 软件架构 单机软件:需要安装,不需要联网 B/S架构:Browser/Server(浏览器/服务器),需要网络通信,不需要安装 C/S架构:Client/Server(客户端/ ...
最新文章
- Spring IoC 学习(3)
- Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了
- QT的QDomElement类的使用
- linux7 无法连接网络,CentOS7无法连接网络怎么办
- 3D环动画css3实现,CSS3 3D酷炫立方体变换动画的实现
- Java基础(三)选择和循环结构
- C++——《算法分析》实验贰——最长公共子序列问题
- JavaScript文档对象模型概述(1)
- MediaWiki中的各种功能和设置
- windos 启动redis服务端与客户端
- uniapp、uniCloud实现微信公众号自动查询淘宝京东优惠券制作过程
- 毕业工作五年的总结和感悟(上)
- SAP 第四代增强-BTE
- 【vue大师晋级之路第一集:Vue基础】第8章——事件处理
- 江苏援沪“大白”们,用手绘漫画为上海加油
- linux命令之 whatis
- 什么是 go vendor
- Linux:打包压缩
- servlet cannot be resolved to a type的原因及解决方法
- Latex中定理、引理、证明、假设
热门文章
- 毕设题目:Matlab答题卡识别
- 【图像加密】基于matlab GUI混沌系统灰色图像加密解密(带面板)【含Matlab源码 1240期】
- 【游戏】基于matlab GUI时钟设计【含Matlab源码 1102期】
- 【数字信号】基于matlab GUI虚拟信号发生器(各种波形)【含Matlab源码 271期】
- 图像数据增强扩充数据库_分析数据扩充以进行图像分类
- 人工智能和机器学习的前五门课程
- ai人工智能数据处理分析_建立数据平台以实现分析和AI驱动的创新
- nosql第一章课后习题
- c#二叉树 取叶子节点个数_「leetcode」222.完全二叉树的节点个数
- mysql 存储过程 out list_MySQL存储过程中的IN,OUT,INOUT类型 用法