Java HashSet 2d数组重复识别

时间:2012-08-20 20:51:38

标签: java

我需要检查2d char数组的列表/集合是否包含我作为参数传递的另一个2d char数组的精确副本。我的想法是制作一个HashSet,然后使用contains()方法,但这不是真的有用;我假设它与我传递方法2D数组有关。如果可能的话,我不想遍历列表中的每个项目,因为这样做太昂贵了。请帮帮我。谢谢!

1 个答案:

答案 0 :(得分:3)

这是行不通的,因为数组的hashCode基于Object,所以除非你试图找到相同的引用,否则你永远不会得到contains来评估到true

您应该为数组创建一个包装器,overridehashCode创建equals。您可以将Arrays.deepEquals用于此目的