如何使用 Guava 的 MultiMap 输出唯一键? (Java)

How to output unique keys with MultiMap from Guava? (Java)

我有以下方法:

public static void showStuff(Multimap<String, String> map) {
        for (String key : map.keys()) {
            System.out.println("The key, " + key
                    + ", has the results: " + map.get(key));
        }
    }

这输出:

The key, **one**, has the results: [a,b,c,d,d,e]
The key, **one**, has the results: [a,b,c,d,d,e]
The key, **one**, has the results: [a,b,c,d,d,e]
The key, **one**, has the results: [a,b,c,d,d,e]
The key, **one**, has the results: [a,b,c,d,d,e]
The key, **two**, has the results: [a,a,a,b,b,e]
The key, **two**, has the results: [a,a,a,b,b,e]

我怎么让它只输出唯一键。我希望它只打印一次语句而不是重复多次。我有一个 table,其中不同的行带有重复键,因此我使用 MultiMap 获取重复键的所有值。我现在如何只输出

The key, **one**, has the results: [a,b,c,d,d,e]
The key, **two**, has the results: [a,a,a,b,b,e]

谢谢!

使用map.keySet()代替map.keys()

您可以使用 Multimap.keySet() 来获取不同的键。

您可以使用 Multimap.entries() 获取(键,值)对,而不必返回到地图来请求与每个键关联的值。

或者,您可以使用 Multimap.asMap() 将其转换为 java.util.Map,然后使用它。