gpt4 book ai didi

java - 使用集合中的结果反转 Map

转载 作者:行者123 更新时间:2023-12-01 22:47:26 26 4
gpt4 key购买 nike

我正在尝试获取一个 Map 来反转键和值,然后将新值组合到一个 Set 中。

例如,

Map<String, String> favoriteColors = new HashMap<String, String>();
favoriteColors.put("Jacob", "Red");
favoriteColors.put("Mason", "Blue");
favoriteColors.put("Ethan", "Green");
favoriteColors.put("William", "Red"); reverseMapping(favoriteColors).entrySet()`

会回来

红色=(雅各布,威廉),蓝色=(梅森),绿色=(伊森)

我什至不确定从哪里开始。

我考虑过迭代原始 map ,但我想不出一种方法来为每种不同的颜色创建新的、独特的集合。

最佳答案

正如波西米亚提到的,我建议您使用GuavaMultimap .

例如:

    final Map<String, String> favoriteColors = new HashMap<>();
favoriteColors.put("Jacob", "Red");
favoriteColors.put("Mason", "Blue");
favoriteColors.put("Ethan", "Green");
favoriteColors.put("William", "Red");

final Multimap<String, String> map = Multimaps.forMap(favoriteColors);
final Multimap<String, String> inverted = ArrayListMultimap.create();
Multimaps.invertFrom(map, inverted);

System.out.println(inverted);

输出:

{Blue=[Mason], Red=[William, Jacob], Green=[Ethan]}

关于java - 使用集合中的结果反转 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25129111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com