我有一个List
Map.Entry
,在roder中有一个对列表。
在我的List
中,我将插入对,其中键是表示UNIX纪元的Long
值,值为带有一些文本的String
:
ArrayList<Map.Entry<Long, String>> events = new ArrayList<Map.Entry<Long, String>>();
events.add(new Map.Entry<Long, String>(140000000, "Test event"));
我想删除带有重复键的Map.Entry,因此每个UNIX纪元只有一个关联的String
。没有手动迭代整个列表的任何奇特的方式吗?
如果String
值是来自同一个键的所有String
值的连续值,则获得奖励。
答案 0 :(得分:2)
使用hashMap - 它只允许每个键一个条目,因此将覆盖。然后,您可以使用map.entrySet将MapEntries从Map中移出。如果键相同但值不同,则此方法有效。
如果键和值对相同,只是将条目放入Set中就可以了,即它们是相同的条目,而不是只有相同的键。查看MapEntry.equals()的行为以理解这一点。