问题标签 [multimap]

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 回答
2635 浏览

java - 使用 MultiMap 的优先级队列 - Java

我必须使用 MultiMap 实现优先级队列。我使用 Google Collections 中的 MultiMap。以下代码创建了一个 MultiMap 并在其中添加了一些元素。

现在我的问题是如何编写pop方法?

我认为应该有一个 for 循环,它应该通过 MultiMap 进行迭代。

最低的键应该是最高的优先级,所以在 C++ 中我会设置一个指向第一个元素的指针并递增它。如何在 Java 中做到这一点?

0 投票
2 回答
19062 浏览

c++ - 如何从 C++ 多图中删除特定对?

假设我现在想删除我刚刚添加到地图中的一对。

我有删除整个键条目的示例,对于键 'b' 将同时删除 'b',15 和 'b',20。

但是要删除的代码是什么,比如说,对 'b',20?

0 投票
2 回答
1421 浏览

java - 从谷歌HashMultimap访问元素的问题

我正在使用以下代码从 google HashMultimap 获取和处理值

在上面的代码中,如果地图元素(或条目)是元素类型,那么我想做一些操作。如果是 HashMultimap 类型,则进行一些其他操作。我如何检查对象并将其传递给另一个函数。

0 投票
3 回答
9505 浏览

java - 如何在 Android 上的 Java 中创建 Multimap

我在哪里可以找到可以在 Android 上运行而无需包含任何其他类等的 Java 多映射实现。我发​​现的实现都需要其他需要其他东西的东西,而且很快就会变得混乱。我正在从 C++ 移植一个项目,并且是 java 新手(以及这个项目,所以我试图在让它工作的同时尽可能保持相同),所以任何参考或示例都会很棒。

0 投票
4 回答
2154 浏览

c++ - 将多图转换为集合

我有一个多重映射,我想获得一组集合 - 它将多重映射中共享相同键的所有 A 类型的项目组合在一起。在 STL 中是否有内置方法可以做到这一点?

0 投票
2 回答
21098 浏览

c++ - 多图相对于向量图的优势是什么?

如果我们可以创建向量图或集合图,我不明白为什么存在多图。对我来说,唯一的区别是:

  • 在 multimap 中使用equal_range来获取键的元素,在向量的映射中,我们只需使用[]运算符并拥有元素向量。
  • multimap.insert(make_pair(key,value))在 multimap 中用于添加元素和map_of_vectors[key].push_back(value)在向量图中使用。

那么为什么要使用多图呢?对我来说,最好有一个向量而不是两个迭代器来获取键的所有值。

这个问题也适用于向量的 unordered_map 和 unordered_multimap。

0 投票
2 回答
25390 浏览

java - 哈希表相同的键具有不同的值....?

java是否有可能哈希表可以将相同的键映射到不同的值?..如何从哈希表中检索这两个值...

0 投票
4 回答
4327 浏览

java - 谷歌收藏中是否有不区分大小写的多图

我需要一个不区分大小写的键的多映射。谷歌收藏中有这样的实现吗?

0 投票
1 回答
1087 浏览

c++ - 需要加速涉及 Boost 多索引和查找 unordered_multimap 的 C++ 代码

我正在寻找加速基于代理的模型的策略,该模型基于 class 的对象Host,指向这些对象的指针存储在 Boost 多索引容器中。我使用 Shark 来确定绝大多数时间都被一个函数消耗calcSI()

在此处输入图像描述

函数calcSI()必须为类的每个实例计算Host某些概率,这些概率取决于类的其他实例的属性Host。(大约有 10,000-50,000 个实例Host,并且这些计算为每个主机运行大约 25,600 次。)

如果我正确解释了配置文件,则花费的大部分时间都calcSI()转到Host::isInfectedZ(int),它只是计算类型为 Boost unordered_multimap 中的某些内容的实例InfectionMap

p>

Hostcontains的所有成员InfectionMap carriage,并简单地计算与特定键关联Host::isInfectedZ(int)的数量:Infectionsint

p>

  1. 我无法找到有关countBoost 的无序多图的功能成本有多大的信息。我是否应该通过添加到Host单独的二维数组来跟踪每个键的实例数(即与每个键Infections关联的数量int)来增加开销?

  2. 我想知道对 Boost 多索引进行更大规模的结构性改革,比如消除一两个不需要的复合键索引,是否会更有帮助。多索引的后台维护没有出现在分析器中,这(可能是愚蠢的)让我担心它可能会很大。我在多索引中有 8 个索引,其中大部分是ordered_non_unique。

  3. 还有其他我应该关注的可能不会出现在分析器中的事情,还是我错过了分析器的主要结果?

不幸的是,并行化和多线程calcSI()不是选项。

更新:知道InfectionMap carriage很少有超过 10 对并且通常有 <5 对可能会有所帮助。


更新 2:我尝试了上面 #1 中提出的策略,给每个Host数组一个数组int carriageSummary[ INIT_NUM_STYPES ],它由 的可能值索引z(对于大多数模拟,有 <10 个可能的值)。每个条目的值跟踪对 所做的更改carriage。该Host::isInfectedZ( int z )函数现在显示为:

专用于这个函数的时间似乎已经大大减少了——我现在不能做一个精确的比较: 在此处输入图像描述 显然,使用数组有点笨重,但对于小范围的z. 其他一些容器(即不是 unordered_map)对于更大的范围会更有效吗?

也希望获得有关更改多索引的任何反馈。

0 投票
3 回答
322 浏览

c++ - 无法访问映射中已初始化结构的内容

我有一个结构:

现在我初始化 KeyPair 实例,以便我可以将它用于我的自动化测试应用程序。

目前,我调用了一个使用这些 KeyPairs 的函数。

我想将所有这些 KeyPair 实例放在一个 MAP 中,这样我就不必调用 pressKeyPairs() 和 qDebug() 一百次了......我是使用 MAPS 的新手......所以我尝试了:

编辑: pressKeyPairs 声明为:

此代码块不起作用... :( 有人可以告诉我如何正确地将这些 KeyPairs 放入 Map 中吗?