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存储唯一的键值,所以这很有用。现在继续计算计数