问题标签 [multi-mapping]

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.

0 投票
4 回答
171 浏览

java - 反转具有冗余值的 Map 以生成多图

给定一张这样的地图,我们有一年中每周每天的频率计数:

…或作为文本:

{周一=52,周二=52,周三=53,周四=53,周五=52,周六=52,周日=52}

...我如何反转以生成不同数字的多重映射,每个数字都导致DayOfWeek拥有该数字的集合(列表?集合?)?

结果应该等同于这段代码的结果:

我想使用直接 Java 生成生成的多图,而不需要额外的库,例如Eclipse CollectionsGoogle Guava。这些库可能会使这更容易,但我很想知道是否可以使用仅使用内置 Java 的解决方案。否则,我的问题与Guava 完全相同:通过反转 Map 来构造 Multimap。鉴于现代 Java 中的新流和多图特性,我希望现在可以实现,而当时还没有。

我看到了与此类似的各种现有问题。但没有一个适合我的情况,这似乎是一种相当普遍的情况。例如,这个问题忽略了原始值是冗余/多重的问题,因此需要一个多重映射。诸如此类或此类的其他涉及Google Guava。

0 投票
1 回答
56 浏览

java - 通过生成映射到其集合值中元素计数的每个键的新映射来报告多映射

想象一个多地图跟踪人员,每个人都有一个分配任务列表。

如何使用流来获取新地图,将每个地图映射PersonInteger在其分配任务列表中找到的项目数?

如何获得与此硬编码地图等效的结果:

我一直在尝试以下排列: