multimap相关内容

多次使用相同键的红黑树:将集合存储在节点中还是将它们存储为多个节点?

显然,您可以执行任何一种操作,但是前者更常见. 您为什么选择后者?它如何工作? 我读了这篇文章: http://www.drdobbs.com/cpp/stls-red-black-trees/184410531 ;这让我认为他们做到了.它说: insert_always是一个状态变量,它告诉rb_tree是否允许使用同一键值的多个实例.此变量由构造函数设置,STL使用它来区分s ..

重载的赋值运算符会引起有关递归的警告

我需要在一个类中实现重载的赋值运算符,以便vector.erase函数将按" vector ::用指针成员擦除".为了相同的目的,我也实现了一个复制构造函数.通过操作符的以下实现,我得到警告: 'Player :: operator =':在所有控制路径上递归,该函数将导致运行时堆栈溢出. 显然,Player::operator=的实现不正确.什么是正确的实现? //Copy c ..
发布时间:2020-05-21 19:37:02 C/C++开发

在多线程环境中交换c ++映射对象

我是C ++编码的新手,需要用新构建的Multimap对象交换/替换旧的Multimap对象,因为该对象将被缓存,我想仅在构建新对象之后才替换现有对象,并且替换对象本身.这将在多线程环境中使用,因此使用原子负载.如该线程中所述,想要高效在C ++中交换两个指针的方法.我写了这段代码 #include #include #include #incl ..
发布时间:2020-05-14 01:36:03 C/C++开发

`std :: multimap`是否保证每个键的实际值在相等的范围内?

"26.4.5.1类模板多图概述"的C ++标准p1说: 多图是一个支持等效键(可能包含多个副本)的关联容器 相同键值),并可以基于键快速检索另一种类型T的值. 重点是我的.那么,这是否意味着std::multimap在插入到相等范围内并替换为相等的对象时可能不会保留原始关键对象的副本? PS要明确说明此问题,是受解决方案 否.该标准描述了如何在此表中插入元素.例如,a_­eq.​ ..
发布时间:2020-04-27 04:55:30 C/C++开发

Java Guava组合Multimap和Cache

是否有可用的组合Guava的缓存和 Multimap 功能?基本上,我需要一个集合,其中条目在给定时间后过期,例如 Cache 中可用,但我有非唯一键,我需要条目独立到期。 解决方案 我认为Louis Wasserman在上面的一条评论中提供了答案,即没有现成的组合 Multimap 和缓存可用。我已用下面的伪代码中概述的解决方案解决了我的问题/要求: 私有缓存 cac ..
发布时间:2018-12-28 21:08:48 Java开发

具有多个值的HashMap

我想在java中实现具有多个值的Hash表,即 //如果sample是一个hashmap sample.put(1,1); sample.put(1,2); 和 sample.get(1); 将返回2个值。 我如何实现这一目标? 解决方案 您可以改用Multimap。它为列表中的键保留多个值。 commons-collections 和番石榴。 ..
发布时间:2018-12-17 09:50:23 Java开发

使Multimap仅在Java中按键排序

我想要一个仅基于键排序的 c.g.c.c.Multimap 。不应对值进行排序。我试图用guava的 TreeMultimap 构建一些东西,但我不能使用它,因为值类型没有实现 Comparable 。 公共类MyObject / *未实现Comparable * / { 私有字符串名称; private int score; //实现getters / setter publi ..
发布时间:2018-11-29 19:22:52 Java开发

Java中的双向多值映射

我正在寻找一种存储键值对的方法。我需要查找是双向的,但同时我需要为同一个密钥存储多个值。换句话说,比如BidiMap,但对于每个键,可以有多个值。例如,它需要能够保存对,如:“s1” - > 1,“s2” - > 1,“s3” - > 2,我需要能够获取映射到每个键的值,并且对于每个值,获取与之关联的所有键。 解决方案 所以你需要支持多对多关系?最近的是番石榴的 Guava 20 : ..
发布时间:2018-11-26 14:54:49 Java开发

迭代时擦除多图中的元素

我正在编写一个节点路径查找算法。我需要在某些条件下运行多图并从中删除元素,但要继续迭代多图。下面是我的代码到目前为止,它似乎在大多数情况下工作,但偶尔我在做nct_it ++时会出错。在递增迭代器之前从表中擦除迭代器指针是否安全? std :: list :: iterator它; std :: multimap ..
发布时间:2018-11-15 21:35:40 C/C++开发

Hibernate中的Multimap

我需要一个将条目存储为键值对的集合(所以我可以通过键查找值),但是我需要一个允许多个值使用hibernate共享同一个键的集合 对于一个键,具有多个值的映射被称为多映射 - 在Apache commons库中有一个实现。 Hibernate不直接支持这种集合,但可以通过实现 UserCollectionType 接口来相对简单地扩展它。这篇博客文章描述了如何详细介绍。 ..
发布时间:2018-06-08 20:13:31 J2EE