【发布时间】:2020-03-16 21:06:43
【问题描述】:
我希望能够反转具有多个键的给定 HashMap 可以指向相同的值。
HashMap<String, String> cities = new HashMap<String, String>();
cities.put("Manchester", "UK");
cities.put("London", "UK");
static HashMap<String, String> inverseMap(HashMap map) {
// something that has "UK" point to both "Manchester" and "London"
// if it can be done without using any special Java 8 feature, that would be great
}
我不确定从哪里开始。
【问题讨论】:
-
逆HashMap是什么意思?
-
当您使用键 -> 值创建地图时,我希望能够获取给定的地图并创建一个新的地图,其中值 -> 键。就我而言,我希望它在多个键指向单个值的情况下工作,因此打印的 inverse 将打印链接到单个值的所有键。
-
您要求的内容与地图的基本理念背道而驰。我认为在这种情况下,您可以使用“反向映射”做的最好的事情是拥有一个 Map
> 以便您的数据只有一个“UK”条目,其中包含 [ “曼彻斯特”、“伦敦”] -
@Ryan 这正是我想要的。我不知道为什么,但这并没有出现在我的脑海中,但这就是我想要的。干杯,伙计。
标签: java dictionary inverse