java - 使用 HashMap 的问题

标签 java collections hashmap hashtable

我正在尝试解决一个仅用于研究数据结构的分析问题。我的疑问是 Java 中的 HashTable

我有一个 HashMap

HashMap<String, Integer> map = new HashMap<>();

这个 HashMap 的键更少,但是其中一些键是重复的。

map.put('k', 1);
map.put('k', 2);

等等...

我的问题是我什么时候要删除 HashMap 的键。其中一些键也是重复的。

让我们看看。

map.remove('k');

我想在这种情况下,它将删除带有键“k”的所有值,或者仅删除找到的第一个值。

这种情况下会发生什么?我有点困惑。

感谢您的帮助!!

最佳答案

HashMap(或HashTable)中,您只能拥有唯一键,不能将不同的值分配给同一个键。在您的代码中,您尝试使用相同的键放置 2 个不同的值:

map.put('k', 1);
map.put('k', 2);

你猜怎么着,不会有 2 个条目,只有 1 个,即最后一个,它将替换前一个,因为它们具有相同的键 - 'k' 。因此,map.remove('k'); 将删除所有内容,这只是一个条目,而不是两个。

关于java - 使用 HashMap 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49467456/

相关文章:

java - OWLAPI : Create new Reasoner (HermiT)

java - Android SearchView.OnQueryTextListener() 意外启动 Intent

java - 如何对 ArrayList<CustomObject> 中的元素进行分组

java - 如何发现 HashMap 中哪个值出现次数最多?

java - 使用 Java 8 流时更新现有的 Map 对象

java - 在多个二维数组中搜索相似条目的代码

java - 基本 Java 登录 Servlet 不工作

java - PostgreSQL 自定义类型 + Hibernate 映射

java - 具有昂贵的自定义键功能的列表的最大值

java - Collection.sort in 是如何实现的?