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

时间:2015-06-25 14:08:47

标签: java hashmap key guava multimap

我有以下方法:

      <script id="rowTmpl" type="text/html">
          <div class='product-image-container'>
              <figure class='product-image'>
                  <picture>
                      <img itemprop='image' alt='Image' data-bind='attr: { src: image.Url }' />
                      </picture>
                  <figcaption></figcaption>
                  </figure>
              </div>

      </script>

输出:

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));
        }
    }

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

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]

谢谢!

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:1)

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