我需要检查 2d char 数组的列表/集是否包含我作为参数传递的另一个 2d char 数组的完全相同的副本。我的想法是制作一个HashSet
然后使用该contains()
方法,但这并没有真正起作用;我认为这与我传递二维数组方法有关。如果可能的话,我不想遍历列表中的每个项目,因为这太昂贵了。请帮帮我。谢谢!
问问题
1459 次
1 回答
4
这永远不会奏效,因为hashCode
数组的 's 是基于Object
's 的,所以除非你试图找到相同的引用,否则你永远不会得到 acontains
来评估true
。
您应该为您的数组和 and 创建一个override
包装hashCode
器equals
。您可以为此目的使用Arrays.deepEquals
于 2012-08-20T21:00:51.077 回答