问题标签 [hashmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
326099 浏览

java - Java:如何转换 HashMap排列

我需要将 a 转换HashMap<String, Object>为数组;谁能告诉我它是怎么做的?

0 投票
9 回答
43243 浏览

java - Java HashMap get 有效,但 containsKey 无效

我正在尝试在 HashMap 中找到一个键。我可以使用“get”打印选定的键,但是当我在 if 语句中使用“containsKey”时,找不到它。

我知道密钥存在于地图中,但它一直返回错误。任何想法的人?

我的代码:

这是 Location 类的代码:

0 投票
7 回答
139320 浏览

java - 迭代时从 HashSet 中删除元素

因此,如果我在迭代时尝试从 Java HashSet中删除元素,我会得到一个ConcurrentModificationException。如以下示例所示,从HashSet中删除元素子集的最佳方法是什么?

这是一个解决方案,但我认为它不是很优雅:

谢谢!

0 投票
6 回答
15426 浏览

c++ - hash_map 和 map 哪个更快?少于 10000 个项目

vs2005 支持 ::stdext::hash_map ::std::map。

但是,在我的测试中, ::stdext::hash_map 的插入和删除 OP 似乎比 ::std::map 慢。(少于 10000 项)

有趣的....

任何人都可以提供关于它们的比较文章吗?

0 投票
2 回答
3741 浏览

java - 关于使用基于枚举的单例缓存大对象(Java)

有没有更好的方法来缓存一些非常大的对象,这些对象只能创建一次,因此需要缓存?目前,我有以下内容:

有几个类可以使用 LargeObjects,这就是为什么我决定使用单例缓存,而不是将 LargeObjects 传递给每个使用它的类。

此外,该映射不包含很多键(一个或两个,但键在程序的不同运行中可能会有所不同),那么在这种情况下是否还有另一个更有效的映射?

0 投票
3 回答
2383 浏览

c++ - 重复键时无法删除 STL hash_map 上的键/值

我正在使用 C++ hash_map 来存储一些 C 风格的字符串对。对于这种情况,所有键都应该是唯一的......

在多次运行压力测试时,我的问题是严重的内存泄漏。

当测试中的这些键都不相同时,就没有内存泄漏。但是对于相同的键,它是一个不同的故事......

hash_map(这是 Google 的sparsehash,但它完全实现了 SGI 函数)

我搜索并找不到替换具有相同键的键/值对的函数。

即使密钥相同,也只会添加一个新对。(我认为应该是可切换的行为) - 这不过是 hash_map.insert()

所以我有一个函数来检查密钥是否存在,如果它确实替换了 val,如果不只是添加一个新对:

最初对是这样添加的:

它在第一个重复键上崩溃。

我试过两种方法。选项 1 导致擦除时出现段错误(这也让我感到困惑)。选项 2 只是不能解决问题,仍然存在内存泄漏。也许我只是做错了。

是的,我知道我可以使用 C++ 字符串,但我不想这样做。对于嵌入式系统,试图保持这种真实的光线。任何帮助表示赞赏...

0 投票
2 回答
4706 浏览

c# - .Net Hashtable、Java Hashtable 和 HashMap 之间的区别

我说.Net Hashtable 不同步而Java Hashtable 是正确的吗?同时一个Java HashMap 是不同步的并且有更好的性能?

我正在重写一个在 C# 中大量使用 HashMaps 的 Java 应用程序,我想使用 HashTable 并确保性能基本相同。

0 投票
3 回答
1545 浏览

optimization - 高效的哈希图使用

使用哈希图的更有效方法是什么?

A)使用多个较小的哈希图,或

B)将所有对象存储在一个巨大的哈希图中?

(假设密钥的散列算法相当有效,导致冲突很少)

澄清:选项 B 意味着按主键进行隔离——即不需要额外的查找来确定要使用哪个实际的 hashmap。(例如,如果查找键是字母数字,则 Hashmap 1 存储 A,Hashmap 2 存储 B,依此类推。)

0 投票
5 回答
42259 浏览

java - 需要一个对一个值具有多个键的 Java 映射/表。值通常会改变

我需要的是一个允许多个键访问单个对象的集合。

我需要对这个对象进行频繁的更改。

它还必须对 500k+ 条目有效。

0 投票
8 回答
3359 浏览

java - 处理地图,equals() 和 hashCodes()。这效率如何?

我正在写一些每秒会收到很多交易的东西。对于传入的每个事务,都会引用一个映射,其中键值为 id 和一个 bean,这将有助于处理该特定事务。基本上每个事务都带有一个 id,将对映射进行查找以检索相应的 bean 进行处理。棘手的部分是每个事务的 id 并不意味着与映射中的 id 精确匹配。更多的是从操作开始。为此,我没有使用字符串作为 id,而是创建了一个名为 MyId 的简单 pojo。以下代码:

第一个测试返回 true,第二个测试返回 false,就像它应该的那样。似乎 map.containsKey() 方法在调用 equals() 之前首先调用并比较了对象的 hashcode 方法。如果您的哈希不匹配,它甚至不会费心比较。虽然这可行,但必须以这种方式实现 hashcode 方法来欺骗地图,感觉有点狡猾。

想知道是否有更有效的方法来做到这一点。我们每秒处理相当多的事务,因此在地图上进行了相当多的查找。

PS:我对此进行了盲编码,因此我确定存在语法错误。请忽略那些。只是试图传达总体思路。