标签: multimap

如何排序番石榴多图?(KEY = DATE)

我有一个

Multimap<Date,Invoice> multimap = ArrayListMultimap.create();
Run Code Online (Sandbox Code Playgroud)

来自番石榴.我想知道如何在多图中排序日期键.

目前,我这样做:

        Iterator<Date> dateItr = multimap.keySet().iterator();
        Set<Date> treeSet = new TreeSet<Date>(Collections.reverseOrder());
Run Code Online (Sandbox Code Playgroud)

然后我循环遍历treeSet迭代器.知道如何避免这种规避吗?

java sorting multimap guava

8
推荐指数
1
解决办法
5037
查看次数

有没有办法从多图中的值中获取所有键?

说我有一个番石榴Multimap.我有一个值,"Foo",可能属于一个或多个键.有什么方法可以找出哪些键包含一个条目"Foo"?

java multimap guava

8
推荐指数
2
解决办法
3246
查看次数

如何遍历多图并打印按键分组的值?

我有std::multimap<string, MyObject*> dataMap;密钥的位置MyObject.name,所有MyObjects都存储在一个std::vector<MyObject>.

在填充地图后,我需要打印dataMap由相同键分组的内容,其中我首先需要相同键的数量,dataMap.count(MyObject.name)然后使用此键的所有值.

我正在考虑使用两个for loops,其中第一个循环遍历"密钥组名称"并计算属于该组的所有密钥,另一个for loop循环遍历特定组中的所有密钥并打印MyObject.information

for(//iterate through group key names){
   //print number of key occurences
   for(//iterate through a certain group{
      //print MyObject.information for all the keys in a group
   }

}
Run Code Online (Sandbox Code Playgroud)

问题是,我真的不知道如何实现这个,或者我将如何使用迭代器来实现我的意愿.有任何想法吗?

编辑:从提供的链接我创建了这个

 for(std::multimap<string, MyObject*>::const_iterator itUnq = dataMap.cbegin();
     itUnq != dataMap.cend(); itUnq = dataMap.upper_bound(itUnq->first)){

        std::cout << dataMap.count(itUnq->second->name)
                  << std::endl;

        std::pair <std::multimap<string, MyObject*>::const_iterator, 
                   std::multimap<string, MyObject*>::const_iterator> groupRange;
        groupRange = dataMap.equal_range(itUnq->second->code);

        //iterate through keys inside the …
Run Code Online (Sandbox Code Playgroud)

c++ key count multimap

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

如何使用Java 8流获取Map中最常用的单词以及相应的出现频率?

我有一个IndexEntry看起来像这样的课:

public class IndexEntry implements Comparable<IndexEntry>
{
    private String word;
    private int frequency;
    private int documentId;
    ...
    //Simple getters for all properties
    public int getFrequency()
    {
        return frequency;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我将这个类的对象存储在Guava中SortedSetMultimap(每个键允许多个值),我将一个String单词映射到一些IndexEntrys.在幕后,它将每个单词映射到一个单词SortedSet<IndexEntry>.

我试图在文档中实现一种文档的单词索引结构及其出现频率.

我知道如何计算最常用的词,但我似乎无法得到这个词本身.

以下是我必须得到最常用词的计数,其中entriesSortedSetMultimap,与辅助方法一起:

public int mostFrequentWordFrequency()
{
    return entries
            .keySet()
            .stream()
            .map(this::totalFrequencyOfWord)
            .max(Comparator.naturalOrder()).orElse(0);
}

public int totalFrequencyOfWord(String word)
{
    return getEntriesOfWord(word)
            .stream()
            .mapToInt(IndexEntry::getFrequency)
            .sum();
}

public SortedSet<IndexEntry> getEntriesOfWord(String word)
{
    return entries.get(word); …
Run Code Online (Sandbox Code Playgroud)

java multimap java-8 java-stream

8
推荐指数
1
解决办法
437
查看次数

多图的每个元素都包含键和值吗?

我无法想象这没有被问过,但我找不到运气.

确实的每个元素multimap包含它的价值它的关键?

那就是内部结构multimap看起来更像这样:

map<key, vector<value>>
Run Code Online (Sandbox Code Playgroud)

或者更像这样:

vector<pair<key, value>>
Run Code Online (Sandbox Code Playgroud)

c++ dictionary key key-value multimap

8
推荐指数
1
解决办法
217
查看次数

将数组值添加到std :: multimap

我试图使用带有整数键的多图和由2个元素组成的整数数组的值.

typedef std::multimap<int,int[2]> reverseHeightMap;
reverseHeightMap container;
Run Code Online (Sandbox Code Playgroud)

当我尝试添加这样的值时:

container.insert( std::pair<int,int[2]>(5,{1,2}) );
Run Code Online (Sandbox Code Playgroud)

我明白了:

error C2143: syntax error: missing ')' before '{'
Run Code Online (Sandbox Code Playgroud)

我无法确定我是否未能定义数据结构或插入值,或两者兼而有之.在此先感谢您的帮助 :)

c++ multimap

7
推荐指数
2
解决办法
1296
查看次数

如何避免重复对/在multimap中找到一对?

我有一些(工作)代码使用multimap<string,string>.我想改变它以禁止同一个键上的重复值(显然,同一个键上的不同值很好,否则我不会使用多个映射).

令人惊讶的是类型不似乎有一个内置的方式,以避免重复,也没有找到一个键值对(只找到一把钥匙).但我认为有人必须有一个现成的解决方法.任何人?

c++ multimap

7
推荐指数
1
解决办法
4763
查看次数

有效地计算两个std :: multimap迭代器之间的条目数

我想计算一个std::multimap小于O(N)时间的两个迭代器之间的条目数.有没有任何技巧或聪明的方法来做到这一点?

由于std::multimap具有双向迭代器,我的理解是std::distance在O(N)时间内可以做到这一点.

其他细节:multimap关键是N元组.我试图找到multimap其键的第一个元素为0 的条目数.它们键的第一个元素的选项是0和1,并multimap使用严格的弱顺序,其中键的第一个元素始终最重要的.即,所有带0的元素都来自任何带有1的元素.

上下文:迭代器返回equal_range,以对数时间运行.据说,我想测量范围的长度.

谢谢.

c++ stl multimap time-complexity c++11

7
推荐指数
1
解决办法
1098
查看次数

双向多图等效数据结构

我知道Guava内部有一个BiMultimap类,但没有外包代码.我需要一个双向的数据结构,即按键和按值查找,并接受重复.

这样的事情:(在我的情况下,值是唯一的,但两个值可以指向相同的键)

0 <-> 5
1 <-> 10
2 <-> 7
2 <-> 8
3 <-> 11
Run Code Online (Sandbox Code Playgroud)

我希望能够get(7)- >返回2get(2)返回[7, 8].那里有另一个库,它有一个我可以使用的数据结构吗?

如果没有,你有什么建议是处理这种情况的更好选择?将两个Multimaps记忆中的一个与另一个记录在一起并做坏事吗?

PS:我读过这个问题:Java中的双向多值映射,但考虑到它是在2011年,我想我会打开一个更近期的问题

java bidirectional multimap guava data-structures

7
推荐指数
1
解决办法
1234
查看次数

Spring MVC配置+ Jackson + Guava多图

我正在努力解决这个问题:

我们有一个带有Guava多重映射的Table类(简化代码,基本上是1个成员,2个构造函数,多重映射的getter和setter):

public class Table {

    private LinkedHashMultimap<String,Field> fields;

    public Table(){
        this.fields = LinkedHashMultimap.create();
    };

    public Table (LinkedHashMultimap<String, Field> fields){
        this.fields= fields;
    }

    public LinkedHashMultimap<String, Field> getFields() {
        return fields;
    }

    public void setFields(LinkedHashMultimap<String, Field> fields) {
        this.fields = fields;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想使用Jackson 2.4.3使用Spring MVC 3.2.11将其序列化.

POM相关的依赖关系是:

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-core</artifactId>
  <version>2.4.3</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.4.3</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.datatype</groupId>
  <artifactId>jackson-datatype-guava</artifactId>
  <version>2.4.3</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>3.2.11.RELEASE</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>3.2.11.RELEASE</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java spring-mvc multimap guava jackson-modules

7
推荐指数
1
解决办法
3294
查看次数