hash
-
Java:一个“素数”还是一个“二的幂”作为HashMap大小? 许多书籍和教程都说,哈希表的大小必须是均匀分布所有存储桶中的键的素数。但是Java总是使用一个2的幂的大小。它不应该使用素数吗?更好的是,“素数”或“两个幂”作为哈希表大小?
-
需要内存高效的方式来存储大量的字符串(原来:Java中的HAT-Trie实现) 我正在使用大量(5-2000万)字符串键(平均长度为10个字符),我需要将其存储在内存数据结构中,该结构支持在恒定时间或接近恒定时间内执行以下操作: 就吞吐量而言,Java的Hashmap被证明
-
-
非空字符串的哈希码是否可以为零? 通过“非空”,我的意思是在这个问题上一个字符串,它至少包含一个非零字符。 作为参考,以下是实现: 并且算法在文档中指定。 在整数溢出发生之前,答案很简单:不。但我想知道的
-
为什么Java的语言设计师在大多数基于哈希的结构中更喜欢链接而不是开放寻址,除了像ThreadLocal这样的结构?[已关闭] 。 10年前关闭。 我知道开放寻址和用于解决哈希冲突的链接之间的区别。大多数基于哈希的基本数据结构,如 Java 中的 ,主要使用链接技术
-
在java中使用二维键的映射 我想要一个由Java中的两个键索引的映射(一个映射,您可以在其中使用两个键放置和检索值)。为了清楚起见,我正在寻找以下行为: 最好的方法是什么?更具体地说,我应该使用: 其他
-
HashMap#hash(int) 方法说明 有人可以向我解释静态HashMap#hash(int)方法吗? 它背后生成均匀分布的哈希值的理由是什么? 一个例子可以使它更容易消化。 澄清我知道运算符,真值表和按位操作。我只是无法真正解码
-
-
Combining Java hashcodes into a "master" hashcode I have a vector class with hashCode() implemented. It wasn't written by me, but uses 2 prime numbers by which to multiply the 2 vector components before XORing them. Here it is: Here I have attempted to create a good hashCode() for the unique 2-tuple of
-
为什么hashCode()可以为Java中的不同对象返回相同的值? 我正在读的书中的一句话 : 关键是哈希码可以是相同的,而不必保证对象是相等的,因为该方法中使用的“哈希算法”可能碰巧为多个对象返回相同的值。
标签