Tag: 哈希表

性能Haskell散列结构。

我正在写程序,做了很多表查找。 就这样,当我偶然发现Data.Map (当然),还有Data.HashMap和Data.Hashtable时,我正在Data.Map Haskell文档。 我不是散列algorithm方面的专家,在检查包之后,他们看起来都非常相似。 因此我想知道: 1:如果有什么重大区别? 2:在大约4000个键值对的地图/表上,查找量最大的是哪一个?

在Java中迭代和从Hashtable中删除

我在Java中有一个Hashtable,想迭代表中的所有值,并在迭代时删除特定的键值对。 这可能怎么做?

如何在Swift中为Int数组实现Hashable协议(自定义string结构)

我做了一个像String一样的结构,只是它只处理Unicode UTF-32标量值。 因此,它是一个UInt32的数组。 (有关更多背景,请参阅此问题 。) 我想做的事 我希望能够使用我的自定义ScalarString结构作为字典中的键。 例如: var suffixDictionary = [ScalarString: ScalarString]() // Unicode key, rendered glyph value // populate dictionary suffixDictionary[keyScalarString] = valueScalarString // … // check if dictionary contains Unicode scalar string key if let renderedSuffix = suffixDictionary[unicodeScalarString] { // do something with value } 问题 为了做到这一点, ScalarString需要实现Hashable协议 。 我以为我可以做这样的事情: struct ScalarString: […]

迭代通过枚举hastable键抛出NoSuchElementException错误

我试图迭代通过使用枚举散列表中的键列表,但是我不断得到一个NoSuchElementException列表中的最后一个键? Hashtable<String, String> vars = new Hashtable<String, String>(); vars.put("POSTCODE","TU1 3ZU"); vars.put("EMAIL","job.blogs@lumesse.com"); vars.put("DOB","02 Mar 1983"); Enumeration<String> e = vars.keys(); while(e.hasMoreElements()){ System.out.println(e.nextElement()); String param = (String) e.nextElement(); } 控制台输出: 电子邮件 邮编 线程“main”中的exceptionjava.util.NoSuchElementException:Hashtable枚举器 在java.util.Hashtable $ Enumerator.nextElement(Unknown Source) 在testscripts.webdrivertest.main(webdrivertest.java:47)

为什么从不同初始化集构造的元组是相等的?

我期待以下两个元组 >>> x = tuple(set([1, "a", "b", "c", "z", "f"])) >>> y = tuple(set(["a", "b", "c", "z", "f", 1])) 比较不平等,但他们不: >>> x == y >>> True 这是为什么?

JavaScript中的哈希表

我正在JavaScript中使用哈希表,我想在哈希表中显示以下值 one -[1,10,5] two -[2] three -[3, 30, 300, etc.] 我发现了下面的代码。 它适用于以下数据。 one -[1] two -[2] three-[3] 如何将一个[1,2]值分配给哈希表,以及如何访问它? <script type="text/javascript"> function Hash() { this.length = 0; this.items = new Array(); for (var i = 0; i < arguments.length; i += 2) { if (typeof(arguments[i + 1]) != 'undefined') { this.items[arguments[i]] = arguments[i + 1]; this.length++; […]

我如何获得在Lua的哈希表中的密钥数量?

myTable = {} myTable["foo"] = 12 myTable["bar"] = "blah" print(#myTable) — this prints 0 我实际上是否必须遍历表中的项目来获取密钥的数量? numItems = 0 for k,v in pairs(myTable) do numItems = numItems + 1 end print(numItems) — this prints 2

Java中的ConcurrentHashMap和Hashtable

Java中的ConcurrentHashMap和Hashtable有什么不同? 哪个线程应用程序更高效?

在C#中使用多维键的散列表

我基本上正在寻找一种方法来访问使用C#中的二维键入键的哈希表值。 最终我能够做到这样的事情 HashTable[1][false] = 5; int a = HashTable[1][false]; //a = 5 这是我一直在尝试…没有工作 Hashtable test = new Hashtable(); test.Add(new Dictionary<int, bool>() { { 1, true } }, 555); Dictionary<int, bool> temp = new Dictionary<int, bool>() {{1, true}}; string testz = test[temp].ToString();

最简洁的方式来初始化一个C#哈希表

C#允许哈希表在单行expression式中填充吗? 我想到的东西等同于下面的Python: mydict = {"a": 23, "b": 45, "c": 67, "d": 89} 换句话说,是否有另外一种方法将每个键值对设置在一个单独的expression式中?