问题标签 [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 投票
3 回答
1430 浏览

c++ - 什么是非空 STL 擦除的安全等价物?

假设我有一个 hash_map 和一个类似的代码

但是 GCC 的 STL 不会在擦除时返回迭代器,而是一个 void。现在是这样的代码

安全(即不会使迭代器无效或做任何其他意外或不愉快的事情)?请注意这是一个 hash_map。

0 投票
10 回答
22964 浏览

java - 为什么将 50,000 个对象插入 HashMap 时出现 OutOfMemoryError?

我正在尝试将大约 50,000 个对象(因此 50,000 个键)插入到java.util.HashMap<java.awt.Point, Segment>. 但是,我不断收到 OutOfMemory 异常。(Segment是我自己的课-重量很轻-一个String字段和3个int字段)。

这似乎很荒谬,因为我看到机器上有大量可用内存——在可用 RAM 和用于虚拟内存的 HD 空间中。

Java 是否可能在一些严格的内存要求下运行?我可以增加这些吗?

有一些奇怪的限制HashMap吗?我将不得不实施我自己的吗?还有其他值得关注的课程吗?

(我在具有 2GB RAM 的 Intel 机器上在 OS X 10.5 下运行 Java 5。)

0 投票
8 回答
3875 浏览

java - Java HashMap 中的线程问题

发生了一些我不确定是否可能发生的事情。显然是的,因为我已经看到了,但是我需要找到根本原因,希望大家能提供帮助。

我们有一个系统可以查找邮政编码的纬度和经度。我们不是每次都访问它,而是将结果缓存在一个廉价的内存中 HashTable 缓存中,因为邮政编码的纬度和经度往往比我们发布的更频繁。

无论如何,散列被一个类包围,该类具有同步的“get”和“add”方法。我们作为单例访问这个类。

我并不是说这是最好的设置,但它就是我们所处的位置。(我计划尽快更改以将 Map 包装在 Collections.synchronizedMap() 调用中。)

我们在多线程环境中使用此缓存,其中线程 2 调用 2 个 zip(因此我们可以计算两者之间的距离)。这些有时几乎同时发生,因此两个调用很可能同时访问地图。

就在最近,我们发生了一个事件,两个不同的邮政编码返回相同的值。假设初始值实际上不同,有没有办法将值写入 Map 会导致为两个不同的键写入相同的值?或者,有什么方法可以让 2 个“获取”跨线并意外返回相同的值?

我唯一的其他解释是初始数据已损坏(错误值),但这似乎不太可能。

任何想法,将不胜感激。谢谢,彼得

(PS:如果您需要更多信息、代码等,请告诉我)

0 投票
2 回答
1317 浏览

delphi - 如何使用 JEDI TJCLHashMap 类?

我正在尝试使用 TJCLHashMap 系列类,但显然这个类没有有用的公共方法。所有方法都受到“保护”。如何使用这个类?尽管 JCL 附带了一些示例,但我似乎错过了一些东西。一个基本的例子会很棒。

0 投票
2 回答
578 浏览

c++ - 如何在VS2005中使用sgi hash_table?

我在 VS2005 中编写了一个 C++ 项目,并使用了许多 STL 容器及其附加的 STL。但是,我发现VS2005中的STL没有hash_map,我想使用SGI hash_map。如何更改我的项目以使用 SGI STL?

感谢Brian的方法,它有效!这很简单。

0 投票
7 回答
23150 浏览

java - Java中有SoftHashMap吗?

我知道有一个WeakHashMapin java.util,但是因为它使用WeakReferences 来表示所有东西,它只被 this引用,所以被Map引用的对象将在下一个 GC 循环中丢失。因此,如果您想缓存随机数据,这几乎是没有用的,很可能会再次请求而不会在其余时间进行硬链接。最好的解决方案是使用SoftReferences 代替的地图,但我在 Java RT 包中没有找到。

0 投票
5 回答
92733 浏览

c++ - C ++中的简单哈希图实现

我对 C++ 比较陌生。在 Java 中,我很容易实例化和使用 hashmap。我想知道如何在 C++ 中以简单的方式做到这一点,因为我看到了许多不同的实现,但对我来说它们都不简单。

0 投票
1 回答
1734 浏览

java - Java中的默认HashMap探测

Java 使用什么作为 HashMap 的默认探测方法?是线性的吗?链接还是其他?

0 投票
14 回答
96202 浏览

java - 您将使用哪种数据结构:TreeMap 或 HashMap?(爪哇)

说明 | 一个 Java 程序,用于读取文本文件并按字母顺序打印每个唯一单词以及该单词在文本中出现的次数。

程序应该声明一个类型的变量Map<String, Integer>来存储单词和相应的出现频率。但是,哪种具体类型?TreeMap<String, Number>还是HashMap<String, Number>

输入应转换为小写。

单词不包含以下任何字符:\t\t\n]f.,!?:;\"()'

示例输出 |

备注 | 我知道,我已经在 Perl 中看到了用大约两行代码来解决这个问题的优雅解决方案。但是,我想在 Java 中看到它。

编辑:哦,是的,使用其中一种结构(在 Java 中)显示实现会很有帮助。

0 投票
3 回答
756 浏览

java - 如果在 hashmap.put 调用中构造

我有一个 Hashmap <String,Integer> 类型的变量。

在这种情况下,整数值可能必须根据标志变量的值进行一些操作。我是这样做的...

但我收到一个错误:

令牌上的语法错误,错误的构造。

在 Hashmapvariable.put 调用中。

我还收到另一个错误

标记 ")" 上的语法错误,删除此标记。

在最后的“);” 线。但我不能删除“)”——它是 put 方法调用的右括号。

我不明白这个。我在做什么错?