Hashset包含/等于值

时间:2014-05-08 23:26:22

标签: java hashset

我可以检查哈希集中是否已存在具有相同的对象?

e.g。

int[] a = {1,2,3};
int[] b = {1,2,3};

Set<int[]> appeared = new HashSet<int[]>();

appeared.add(a);
appeared.contains(b);

appear.contains(b)将返回false,因为a和b不是相同的对象,但我想要一个在这种情况下返回true的函数。 在我的函数中,我得到了一个存储复杂类的hashset,并且直接比较每个数组中的每个基本数据类型都有点过分。 有什么像我可以使用的哈希值或任何我不知道的巧妙技巧吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

这会打印true

Integer[] a = {1,2,3};
Integer[] b = {1,2,3};

Set<List<Integer>> appeared = new HashSet<List<Integer>>();

appeared.add(Arrays.asList(a));
System.out.println(appeared.contains(Arrays.asList(b)));