jjzjj

Multimap

全部标签

java - 如何在 Java 中对 MultiMap<k,v> 进行排序?

是否有理由在Java中对MultiMap进行排序以及如何做到这一点? 最佳答案 其实我不知道你为什么要对map进行排序。Map是一个字典,您可以从该字典中检索您感兴趣的一个(或者在多图的情况下是一个或多个)值的集合。在MultiMap的情况下,您可能希望对get产生的Collection进行排序。但是排序Map有什么优势,因为它不会加快查找特定值的速度? 关于java-如何在Java中对MultiMap进行排序?,我们在StackOverflow上找到一个类似的问题:

java - 如何使用 Java 8 流获取 Map 中出现频率最高的单词及其相应的出现频率?

我有一个类IndexEntry看起来像这样:publicclassIndexEntryimplementsComparable{privateStringword;privateintfrequency;privateintdocumentId;...//SimplegettersforallpropertiespublicintgetFrequency(){returnfrequency;}...}我将此类的对象存储在Guava中SortedSetMultimap(允许每个键有多个值)我正在映射String给一些人的话IndexEntry秒。在幕后,它将每个单词映射到SortedSe

java - 如何对 Guava 多图进行排序? (关键=日期)

我有一个Multimapmultimap=ArrayListMultimap.create();来自Guava。我想知道如何对多图中的Date键进行排序。目前,我正在这样做:IteratordateItr=multimap.keySet().iterator();SettreeSet=newTreeSet(Collections.reverseOrder());然后我循环遍历treeSet迭代器。知道如何避免这种规避吗? 最佳答案 这里是Guava团队成员。使用TreeMultimap,或者如果你需要映射到List,使用Multim

java - 哪种Java数据结构最适合双向多值映射

我是Java的新手,我想知道哪种类型的数据结构最适合我的情况。我有一组数据,它们本质上是键值对,但是每个值可能对应多个键,每个键可能对应多个值。一个简化的例子是:红苹果青苹果红草莓青葡萄紫葡萄考虑到上面的例子,我需要能够返回我有什么颜色的苹果和/或我有什么红色水果。实际数据将根据输入文件动态生成,其中每组将包含100-100,000个值,每个值可能对应另一组中的数百个值。存储和解析这些数据的最有效方法是什么?我更喜欢尽可能原生于Java的解决方案,而不是诸如外部数据库之类的解决方案。Thisquestion是相关的,但我不确定如何在我的案例中应用该解决方案,因为我需要在两个方向上为每个

java - 使用 Google Collections 创建弱多图

是否有与MultiMaps的漂亮MapMaker等效的工具?目前我这样创建缓存:publicstaticMap>personCache=newMapMaker().weakKeys().makeMap();MultiMap的全部要点是避免嵌套的列表值。有什么方法可以用弱键构造多映射? 最佳答案 不幸的是没有。然而。您可以在我们的问题数据库中提交MultimapMaker功能请求吗?http://google-collections.googlecode.com 关于java-使用Goog

java - Multimap 与 HashMultiset 值

我正在尝试为每个键创建一个(基于散列的)Multimap,其中包含一个(基于散列的)多值集。看例子:Multimapmmap=Multimaps.newMultimap(Maps.>newHashMap(),newSupplier>(){publicCollectionget(){returnHashMultiset.create();}});mmap.put("1","2");但是,System.out.println(mmap.get("1")instanceofMultiset);//false,thereturnedcollectionisnotaHashMultiset,//

【C++】set、multiset与map、multimap的使用

目录一、关联式容器二、键值对三、树形结构的关联式容器3.1set3.1.1模板参数列表3.1.2构造3.1.3迭代器3.1.4容量3.1.5修改操作3.2multiset3.3map3.3.1模板参数列表3.3.2构造3.3.3迭代器3.3.4容量3.3.5修改操作3.3.6operator[]3.4multimap一、关联式容器谈到关联式容器,先来说说序列式容器,以前学习的vector、list、deque等就是序列式容器,它们的特点是底层为线性序列的数据结构,存储的是元素本身。关联式容器也是存储数据的,不同的是,里面存储的是结构的键值对,在数据检索时比序列式容器效率更高。二、键值对键值对是

java - 多图空间问题 : Guava

在我的Java代码中,我使用了Guava的Multimap(com.google.common.collect.Multimap):MultimapIndex=HashMultimap.create()这里,Multimap键是URL的一部分,值是URL的另一部分(转换为整数)。现在,我为JVM分配了2560Mb(2.5GB)堆空间(通过使用Xmx和Xms)。但是,它只能存储900万个这样的(key,value)整数对(大约1000万)。但是,理论上(根据int占用的内存)它应该存储更多。谁能帮帮我,为什么Multimap使用大量内存?我检查了我的代码,没有在Multimap中插入对,

java - Guava MultiMap 和 ConcurrentModificationException

这个问题在这里已经有了答案:IteratingthroughaCollection,avoidingConcurrentModificationExceptionwhenremovingobjectsinaloop(31个答案)WhyisaConcurrentModificationExceptionthrownandhowtodebugit(8个答案)关闭3年前。我不明白为什么在遍历此multimap时会出现ConcurrentModificationException。我阅读了以下内容entry,但我不确定我是否理解了整件事。我试图添加一个同步块(synchronizedblock

java - 如何使用 Guava 将 MultiMap<Integer, Foo> 转换为 Map<Integer, Set<Foo>>?

我像这样使用来自GoogleGuava12的MultiMap:MultimappkgPOP=HashMultimap.create();将值插入到这个多图中后,我需要返回:Map>但是,当我这样做时:returnpkgPOP.asMap();它返回我Map>如何返回Map>相反? 最佳答案 看thisissueandcomment#2byKevinBourrillion,Guava开发负责人:Youcandouble-casttheMap>firsttoarawMapandthentotheMap>thatyouwant.You'l