Questions tagged «hashmap»

使用哈希函数将标识值(称为键)映射到其关联值的数据结构

10
从HashMap获取字符串值,具体取决于键名
我有一个HashMap具有各种键和值的,如何获得一个值? 我在映射中有一个名为的键my_code,它应该包含一个字符串,如何在不迭代映射的情况下获取它呢? 到目前为止,我有.. HashMap newMap = new HashMap(paramMap); String s = newMap.get("my_code").toString(); 我期望看到一个String,例如“ ABC”或“ DEF”,因为这是我最初在此处输入的内容,但是如果我这样做,则会System.out.println()得到类似java.lang.string#F0454 抱歉,您可能会猜到我对地图不太熟悉;)

12
如何使用两个键(键对,值)创建HashMap?
我有一个2D整数数组。我希望将它们放入HashMap中。但是我想从基于数组索引的HashMap访问元素。就像是: 对于A [2] [5],map.get(2,5)它返回与该键关联的值。但是,如何使用一对密钥创建一个hashMap?或者通常是多个键:Map<((key1, key2,..,keyN), Value)以一种我可以使用get(key1,key2,... keyN)来访问元素的方式。 编辑:发布问题3年后,我想再添加一点 我遇到了另一种方法NxN matrix。 数组索引,i和j可被表示为一个单一的key方式如下: int key = i * N + j; //map.put(key, a[i][j]); // queue.add(key); 并且可以通过key以下方式撤消索引: int i = key / N; int j = key % N;
118 java  hash  hashmap  hashcode 


7
在Java中创建空白地图的最佳方法
我需要创建一个空地图。 if (fileParameters == null) fileParameters = (HashMap<String, String>) Collections.EMPTY_MAP; 问题是上面的代码会产生以下警告: 类型安全性:未经检查的从Map转换为HashMap 创建此空地图的最佳方法是什么?


11
HashMap和int作为键
我试图建立一个HashMap,它将具有整数作为键和对象作为值。 我的语法是: HashMap<int, myObject> myMap = new HashMap<int, myObject>(); 但是,返回的错误是-令牌“ int”的语法错误,此令牌后应包含尺寸-我不明白为什么应该添加尺寸(即:将int制成数组),因为我只需要存储一个数字作为关键。 我能做什么? 提前致谢!:)
104 java  hashmap 

25
Java HashMap性能优化/替代
我想创建一个大型HashMap,但put()性能不够好。有任何想法吗? 欢迎其他数据结构建议,但我需要Java Map的查找功能: map.get(key) 就我而言,我想创建一个包含2600万个条目的地图。使用标准的Java HashMap,插入2到3百万次后,放置速度会变得异常缓慢。 另外,有人知道对密钥使用不同的哈希码分布是否有帮助? 我的哈希码方法: byte[] a = new byte[2]; byte[] b = new byte[3]; ... public int hashCode() { int hash = 503; hash = hash * 5381 + (a[0] + a[1]); hash = hash * 5381 + (b[0] + b[1] + b[2]); return hash; } …

1
如何有效地从HashMap查找和插入?
我想做以下事情: 查找Vec某个密钥,然后将其存储以备后用。 如果它不存在,请Vec为密钥创建一个空白,但仍将其保留在变量中。 如何有效地做到这一点?自然,我以为我可以使用match: use std::collections::HashMap; // This code doesn't compile. let mut map = HashMap::new(); let key = "foo"; let values: &Vec<isize> = match map.get(key) { Some(v) => v, None => { let default: Vec<isize> = Vec::new(); map.insert(key, default); &default } }; 当我尝试它时,它给了我类似以下错误: error[E0502]: cannot borrow `map` as mutable …
102 hashmap  rust  lookup 

3
gcc std :: unordered_map实现慢吗?如果是这样-为什么?
我们正在用C ++开发高性能的关键软件。在那里,我们需要一个并发的哈希映射并实现一个。因此,我们编写了一个基准来确定与并发哈希图相比要慢多少std::unordered_map。 但是,这std::unordered_map似乎太慢了……所以这是我们的微基准测试(对于并发映射,我们产生了一个新线程,以确保不会对锁定进行优化,并且请注意,我从不插入0,因为我也使用进行了基准测试google::dense_hash_map,需要一个空值): boost::random::mt19937 rng; boost::random::uniform_int_distribution<> dist(std::numeric_limits<uint64_t>::min(), std::numeric_limits<uint64_t>::max()); std::vector<uint64_t> vec(SIZE); for (int i = 0; i < SIZE; ++i) { uint64_t val = 0; while (val == 0) { val = dist(rng); } vec[i] = val; } std::unordered_map<int, long double> map; auto begin = std::chrono::high_resolution_clock::now(); for (int i = 0; …


7
Java是否具有带有反向查找的HashMap?
我有以“键-键”格式而不是“键-值”格式组织的数据。这就像一个HashMap,但是我将需要在两个方向上进行O(1)查找。这种数据结构是否有名称,Java的标准库中是否包含类似的名称?(或者Apache Commons?) 我可以编写自己的类,该类基本上使用两个镜像的Map,但我不想重蹈覆辙(如果已经存在,但我只是没有在寻找正确的术语)。

6
按键对Go地图值进行排序
在主题函数返回的代码中迭代返回的映射时,键未按顺序显示。 我如何才能使键按顺序排列/对地图进行排序,以使键按顺序排列并且值对应? 这是代码。
94 go  hashmap 

10
Java比较两个列表
我有两个列表(不是Java列表,可以说两列) 例如 **List 1** **Lists 2** milan hafil dingo iga iga dingo elpha binga hafil mike meat dingo milan elpha meat iga neeta.peeta 我想要一个返回多少个相同元素的方法。对于此示例,它应该为3,并且应该返回列表的相似值和不同的值。 如果是,我应该使用哈希图,然后用什么方法获得结果? 请帮忙 PS:这不是学校作业:)因此,如果您只是指导我就足够了

6
HashMap Java 8实现
按照以下链接文档:Java HashMap实现 我对的实现感到困惑HashMap(或更确切地说,是对的增强HashMap)。我的查询是: 首先 static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = 64; 为什么以及如何使用这些常量?我想要一些明确的例子。 他们如何通过这种方式获得性能提升? 其次 如果您HashMap在JDK中看到的源代码,则将找到以下静态内部类: static final class TreeNode<K, V> extends java.util.LinkedHashMap.Entry<K, V> { HashMap.TreeNode<K, V> parent; HashMap.TreeNode<K, V> left; HashMap.TreeNode<K, V> right; HashMap.TreeNode<K, V> prev; boolean red; TreeNode(int …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.