问题标签 [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.
c++ - C++ 从 STL::multimap 中查找范围内的元素数
我有一个 STL::multimap 并使用 equal_range 搜索它以返回上限和下限。我可以在不遍历所有元素并一一计数的情况下找到此范围内的元素数量吗?
java - java中具有良好(插入,迭代)性能特征的原始多图
我正在使用 Java 中的 ints/long 进行一些繁重的处理(构建反向索引)。
我已经确定标准 java.collections 映射的(取消)装箱占用了总处理时间的很大一部分。(与使用数组的类似实现相比,由于内存限制,我无法使用)。
我正在寻找可以支持以下结构的快速第 3 方实施(或任何实施):
具有特征的地图:
- 地图中的键是稀疏的(范围 [0,2^64] 中的 +/- 10.000.000 个键 - 值始终附加到列表的末尾 - 快速插入(如果可能,摊销 O(1)) - 快速迭代按键顺序。
我看过 trove、fastutil 等,但找不到使用原语的多图实现(只有法线贴图)
任何帮助表示赞赏。
谢谢, Geert-Jan
c++ - C++ 从 std::multimap 中查找多个键
我有一个STL::multimap
,我搜索它来填充一个std::list
重复键的值。
我可以在不一一计算的情况下找到/插入std::list
所有键的元素值吗?count > 1
lst
可能包含"a" ,"c","j","k"
;
我试试这个
我不确定这段代码是否可以编译。
c++ - 从使用 equal_range 的多图搜索返回而不会出错
我即将重构一些重复的代码。两个函数都使用 equal_range() 在多图中搜索。在调用 equal_range() 之后的 for 循环中,有一个 for 循环将迭代器设置为 equalRange.first,条件为 it!= equalRange.second。
如果找到正确的值,则两个函数不同。我想做的是将搜索功能作为前面提到的两个使用的自己的帮助功能。
使这项工作不是问题。问题是我无法想出一种方法来使其“简单”和未来证明,以使其对使用此代码的其他人有意义。显然,我想要从搜索功能返回的东西。
如果我要返回一个布尔值来指示是否在多重映射中找到了该值,我必须将一个迭代器传递给指向该元素的多重映射。我觉得这很丑。
如果返回的是迭代器,我们当然必须在使用搜索功能的两个函数中检查边界。我们无法对照 multimap.end() 检查它,因为我们使用了 equal_range,所以 equalRange.second 不必等于 multimap.end()。
使用边界检查 returnIter == checkBound(x) 其中 checkBound(x) 返回 multimap::upperbound(x) 使 checkBound(x) 知道搜索函数的 equal_range 实现。因此,如果其他人要更改搜索功能,则 checkBound(x) 可能无法按预期工作。
我的立场是,搜索功能的用户不应该关心它是如何实现的,即不应该知道它使用了equal_range。
您对此有何意见和建议?我这里是不是太详细了?您将如何实现搜索功能?
谢谢
java - 具有 HashMultiset 值的 Multimap
我正在尝试为每个键创建一个(基于哈希的)多重映射,其中包含一个(基于哈希的)多重值集。请参阅示例:
但是之后,
所以看来我无法访问我创建的多重集?我希望能够将其作为 Multiset(包装在 Multisets.unmodifiableMultiset() 中)返回。我也不想每次都将它复制到一个新的 Multiset 中。Map<K, Multiset<V>>
除了切换回并在我的代码中添加Multimap
旨在消除的复杂性之外,我还有其他选择吗?
scala - Scala 中的多值映射
在 Scala 2.8 中,我有一个不可变的映射,每个键都有多个值:
有没有更高级的代表?其次,您将如何生成这样的地图
? 我目前正在使用:
哪个有效,但感觉很笨重。
编辑:我应该指定我正在使用不可变数据。是否有一个不可变的等价于 MultiMap?
modal-dialog - 当滑块位于多图上方时,Scriptaculous 滑块手柄不会移动
我有一个Scriptaculous Slider显示在Multimap上方的模态对话框窗口中。我遇到的问题是,如果您尝试拖动它,则在此页面上滑块手柄不会移动。如果我单击滑块轨道,手柄会正确跳转到该点,然后您可以使用手柄正确拖动。
单击手柄成功注册了单击,因为我可以console.log()
在该点上滑块的值。试图通过它的手柄拖动滑块只是保持记录相同的值并且手柄不会移动。
滑块在任何没有多重地图的页面上都能正常工作。
页面上没有其他 JS 框架(只有 Prototype 和 Scriptaculous)。
我真的不确定问题是否存在。如果滑块没有注册任何内容,那么地图以某种方式位于顶部或窃取点击事件是有意义的。但显然这些点击是被记录下来的。我也不明白为什么单击滑块轨道可以完全解决问题。
有人可以指出我正确的方向(通过修复程序,或者自己调试问题的路径)。
我尝试过的事情:
- 设置句柄的 z-index。
- 使模态对话框一开始就可见(因为它一开始是隐藏的 - 我认为它可能与这个问题有关,但它没有帮助)。
list - 如何将具有 2 列的矩阵转换为类似多图的结构?
我想知道是否有办法将 2 列矩阵转换为多图或列表列表。
矩阵的第一列是一个 id(可能有重复的条目),第二列是一些值。
例如,如果我必须遵循矩阵
我想将其转换为以下列表
c++ - 多图擦除不起作用
以下代码不适用于输入:
为什么我的擦除不起作用?
java - 是否有处理重复项的排序 Java 集合?
我需要一个行为类似于 C++ 多重映射的集合,但我还需要能够通过一系列键获取元素。