文档章节

HashMap根据value删除元素

beanGou
 beanGou
发布于 2014/05/29 19:12
字数 258
阅读 358
收藏 0

1.首先声明,如果想根据value删除map中的元素,使用map.remove(value)这个方法是错误的、 可以使用以下一段程序验证之:

<!-- lang: java -->
            Map<String, String> map = new HashMap<String, String>();
	map.put("1", "11");
	map.put("2", "22");
	map.put("3", "33");
	map.put("4", "44");
	System.out.println(map.get("3"));
	// 显然map.remove方法的参数是key,不是value
	map.remove("33");
	System.out.println(map.get("3"));

打印结果:

33

33

所以,执行的remove方法没起到删除元素的作用。 究其原因,可以看下remove方法的api对该方法参数的解释 :Parameters: key key whose mapping is to be removed from the map, 意思是大概要从map中删除元素的key,即参数不是value,而是key, 如果执行map.remove("3"), 程序打印结果就是:

33

null

2.所以直接使用上面方法不对,这是一个误区。 可以使用以下方法: Collection<String> col = map.values(); System.out.println(map.get("3")); col.remove("33"); System.out.println(map.get("3")); 打印结果:

<!-- lang: java -->
33
<!-- lang: java -->
               null

© 著作权归作者所有

共有 人打赏支持
beanGou
粉丝 7
博文 87
码字总数 19525
作品 0
杭州
程序员
私信 提问
jdk容器之HashMap

一、HashMap简介 原博客地址:http://www.cnblogs.com/tstd/p/5055286.html hash就是通过散列算法,将一个任意长度关键字转换为一个固定长度的散列值,由于hash函数是一个压缩映射,所以可能...

紫韵
2016/04/07
41
0
jdk1.6集合源码阅读之HashMap

本来ArrayList和LinkedList弄完,应该去查看set接口的一些实现了,比如HashSet和TreeSet的实现了,但是看了下HashSet的底层存储是HashMap,所以决定先看HashMap的源码,看完再看HashSet的源码...

双月通天
2016/08/26
11
0
java集合学习笔记--二维集合HashMap

一.Map集合 在二维集合中,使用最多的是java.util.HashMap HashMap类提供了二维集合的功能 构造函数 public HashMap() HashMap类中,可以为每个对象指定一个key值。如果为两个不同的对象指定...

carlos
2014/03/26
0
0
JDK源码分析(三)——HashMap 上(基于JDK7)

目录 HashMap概述 内部字段及构造方法 存储元素 扩容 取出元素 删除元素 判断 总结 HashMap概述   前面我们分析了基于数组实现的ArrayList和基于双向链表实现的LinkedList,它们各有优缺点:...

默数至天亮
07/28
0
0
从数组、链表开始聊聊HashMap的实现原理,据说是阿里面试必问的题(小怪的Java群话题讨论内容)

一、数组和链表介绍 数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。 以5位同学去上课时坐座位为例,总结它们的特点和区别。 1.1、数组的特点 在内存中...

小怪聊职场
05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
36分钟前
0
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
1
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
1
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
1
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部