Java 删除多重映射中的重复值

Java 删除多重映射中的重复值,java,android,multimap,Java,Android,Multimap,我有一个多重映射,我需要像这样显示输出: 键(值计数) 例如,我在多重映射中有以下数据: {Entertainment=[5], Food=[2, 2, 2], Products=[11], Health & Beauty=[3]} 数组中的数字是相关键的ID。 我希望它输出的内容如下: Entertainment (1) Food (3) Products (1) Health & Beauty (1) 当然,我想把身份证也随身携带 这就是我到目前为止所做的 Multima

我有一个多重映射,我需要像这样显示输出:

键(值计数)

例如,我在多重映射中有以下数据:

{Entertainment=[5],
Food=[2, 2, 2],
Products=[11],
Health & Beauty=[3]}
数组中的数字是相关键的ID。 我希望它输出的内容如下:

Entertainment (1)
Food (3)
Products (1)
Health & Beauty (1)
当然,我想把身份证也随身携带

这就是我到目前为止所做的

Multimap<String, String> map = ArrayListMultimap.create();

for (int i = 0; i < response.getMerchants().size(); i++) {

    //hmm.setCategory_id(response.getMerchants().get(i).getCategory_id());
    //hmm.setCategory_name(response.getMerchants().get(i).getCategory_name());
    //hmm.setCategory_count(123); // FIXME

    map.put(response.getMerchants().get(i).getCategory_name(),
    response.getMerchants().get(i).getCategory_id());

    //arrCategory.add(hmm);
}

for (String key : map.keySet()) {
    int count = map.get(key).size();

    Log.d(TAG, "count= "+count);
}
Multimap map=ArrayListMultimap.create();
对于(int i=0;i
正如您所知,该值将被放入一个数组中,并传递给
BaseAdapter
,以填充ListView。或者除了使用Multimap,还有其他方法可以做到这一点吗?我以前使用过
HashMap
,但它删除了重复的内容


如果有什么不清楚的地方,请告诉我。我已经考虑过了。

我用HashMap解决了这个问题

在for循环中

Map map = new HashMap();

...

map.put(response.getMerchants().get(i).getCategory_name(),
   response.getMerchants().get(i).getCategory_id());

...
要将其放入我的适配器中,请执行以下操作:

for (Object o : map.entrySet()) {
    Map.Entry entry = (Map.Entry) o;
    HomeMerchantsModel hms = new HomeMerchantsModel();
    hms.setCategory_id(String.valueOf(entry.getValue()));
    hms.setCategory_name(String.valueOf(entry.getKey()));

    arrCategory.add(hms);
}
因为HashMap存储唯一的键值,所以这很有用。现在继续计算计数