【发布时间】:2013-09-18 16:15:00
【问题描述】:
我有一张Map<String,List<String>> 形式的地图。关键是文档编号,List 是符合某些条件并在文档中找到的术语列表。
为了检测重复文档,我想知道List<String> 中的任何两个是否具有完全相同的元素(这包括重复值)。
List<String> 已排序,因此我可以遍历地图并首先检查 List.size()。对于任意两个列表
大小相同,然后我必须将这两个列表与List.equals() 进行比较。
地图和相关列表永远不会很大,所以即使这种蛮力方法不能很好地扩展它
就足够了。但我想知道是否有更好的方法。一种不涉及太多的方式
显式循环和一种在 Map 和/或 List 变得更大时不会产生组合爆炸的方法。
最后,我需要的只是对这个问题的是/否回答:是否有任何列表相同?
【问题讨论】:
-
您无法比
O(n)更好地比较两个列表是否相等。你想用相等的列表做什么? -
Rohit,我不想对列表做任何事情。我只需要一个是/否的答案:是否至少有一个重复项?
标签: java collections