我可以检查哈希集中是否已存在具有相同值的对象?
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,并且直接比较每个数组中的每个基本数据类型都有点过分。 有什么像我可以使用的哈希值或任何我不知道的巧妙技巧吗?谢谢你的帮助。
答案 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)));