标签: multimap

stl :: multimap - 如何获取数据组?

Multimap实际上具有按键排序的数据组.我想要一种方法,通过该方法我可以访问这些单独的组并获取它们的聚合值.例如,在std::multimap< string, int >I商店中

{"Group1", 1}, 
{"Group1", 2}, 
{"Group1", 3}, 

{"Group2", 10}, 
{"Group2", 11}, 
{"Group2", 12}
Run Code Online (Sandbox Code Playgroud)

存储了这些值之后,我应该能够迭代这个多图并获得每个"组"的聚合值.问题是STL中没有定义任何以这种方式访问​​MultiMaps的函数.我可以使用lower_bound,upper_bound手动迭代多图并总计组的内容,但我希望有更好的方法在STL中定义?任何人都可以提出一个解决方案,如何在上面的例子中获取组的聚合值.

c++ stl multimap

34
推荐指数
3
解决办法
4万
查看次数

Java中的多值哈希表

是否可以在哈希表中为同一个键设置多个值?如果没有,你能建议任何可以使用的类或接口吗?

java collections hashtable map multimap

25
推荐指数
6
解决办法
5万
查看次数

如何消除Guava MultiMap值中的重复?

码:

    Multimap<String, String> myMultimap = ArrayListMultimap.create();
    myMultimap.put("12345", "qwer");
    myMultimap.put("12345", "abcd");
    myMultimap.put("12345", "qwer");
    System.out.println(myMultimap);
Run Code Online (Sandbox Code Playgroud)

结果:

{12345=[qwer, abcd, qwer]}
Run Code Online (Sandbox Code Playgroud)

是否有可能消除重复的"qwer"?谢谢.

java collections multimap guava

25
推荐指数
2
解决办法
1万
查看次数

使Multimap仅在Java中按键排序

我想有一个c.g.c.c.Multimap仅基于键排序的.不应对值进行排序.我试图用番石榴来构建一些东西TreeMultimap,但我不能使用它,因为值类型没有实现Comparable.

public class MyObject /* doesn't implement Comparable */ {
  private String name;
  private int score;
  // Getters/setters are implemented
  public static Function<MyObject,Integer> myObjectToScore {
    @Override public Integer apply (MyObject o) { return o.score; }
  }
  public static Multimap<Integer,MyObject> indexOnScore(Iterable<MyObject> i) {
    Multimap<Integer,MyObject> m = Multimaps.index(i, myObjectToScore());
    // Do the sort of the keys.
    return m;
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经考虑过获取一些SortedSet密钥,然后迭代排序集中的每个密钥以获取各种值,但我希望在Guava中使用现有的(但尚未发现的)功能而不是使用这种黑客.

注意:我不会制作MyObject工具,Comparable因为它对我的实际对象毫无意义.


输入/输出示例:

Set<MyObject> s = Sets.newHashSet(
  new …
Run Code Online (Sandbox Code Playgroud)

java sorting multimap guava

24
推荐指数
3
解决办法
2万
查看次数

如何迭代google multimap

我必须遍历谷歌多图.但

  1. 我使用的是jdk 1.4,无法切换到更高版本.所以我不能使用通用功能.
  2. 我的多图可以有一个键的多个值.
  3. 可能存在多图的值本身是多图的情况

java multimap guava

23
推荐指数
3
解决办法
4万
查看次数

如何从Scala中的元组列表构建多图?

假设我有一个元组列表List[(A, B)].将其转换为multimap映射A到的a的最佳方法是什么Set[B]?我可以构建一个不可变的 multimap吗?

scala multimap

23
推荐指数
2
解决办法
8467
查看次数

是否有一个替代Dictionary/SortedList允许重复?

可能重复:
C#可排序集合,允许重复键

基本上我想使用重复键使Dictionary工作,而无需进入自定义比较器实现.有一个想法:

  Dictionary<key, List<value>>
Run Code Online (Sandbox Code Playgroud)

但它仍然有一些开销.我希望词典有"AllowDuplicates".

.net dictionary priority-queue multimap

20
推荐指数
2
解决办法
3万
查看次数

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

#include <map>

...

multimap<char,int> first;

first.insert(pair<char,int>('a',10));
first.insert(pair<char,int>('b',15));
first.insert(pair<char,int>('b',20));
first.insert(pair<char,int>('c',25));
Run Code Online (Sandbox Code Playgroud)

说我现在想要删除我刚刚添加到地图中的一对.

我有一些例子来删除整个密钥条目,对于密钥'b',它将删除'b',15和'b',20.

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

c++ containers multimap

20
推荐指数
2
解决办法
1万
查看次数

如何实现C++多图表容器?

例如,使用动态数组实现C++向量,其中每个元素使用连续的内存空间.

我知道C++多图是一对多的关系,但内部结构是什么?

c++ multimap

20
推荐指数
2
解决办法
1万
查看次数

Java中的双向多值映射

我正在寻找一种存储键值对的方法.我需要查找是双向的,但同时我需要为同一个密钥存储多个值.换句话说,比如BidiMap,但是对于每个键,可以有多个值.例如,它需要能够保持像对象:"s1" - > 1,"s2" - > 1,"s3" - > 2,我需要能够获取映射到每个键的值,并且对于每个值,获取与其关联的所有键.

java multimap

19
推荐指数
1
解决办法
1万
查看次数