Java 如何检查哈希集的值包含? HashSet a=newhashset(); int[]somestuff={1,2,3}; a、 添加(某物); int[]somestuff2={1,2,3}; System.out.println(a.contains(sometuff2));

Java 如何检查哈希集的值包含? HashSet a=newhashset(); int[]somestuff={1,2,3}; a、 添加(某物); int[]somestuff2={1,2,3}; System.out.println(a.contains(sometuff2));,java,Java,是false 如何正确检查?只有当我检查something时,我才得到true,但即使变量名/文本不相同,但值相同,我也要得到true。什么方法调用允许我完成这项工作?我要检查值 也许这与在集合中散列的内容有关,还取决于最初用于填充它的变量literal但是,没有直接的简单方法来做您想要做的事情 我将创建一个类,该类由一个int[]字段组成,并根据数组的内容实现equals()和一个一致的hashCode() A设置如果这些对象可以使用: HashSet<int[]> a = n

false

如何正确检查?只有当我检查
something
时,我才得到true,但即使变量名/文本不相同,但值相同,我也要得到
true
。什么方法调用允许我完成这项工作?我要检查值


也许这与在集合中散列的内容有关,还取决于最初用于填充它的变量literal

但是,没有直接的简单方法来做您想要做的事情

我将创建一个类,该类由一个
int[]
字段组成,并根据数组的内容实现
equals()
和一个一致的
hashCode()

A
设置
如果这些对象可以使用:

 HashSet<int[]>  a = new HashSet<int[]>();
 int[] somestuff = {1, 2, 3};
 a.add(somestuff);
 int[] somestuff2 = {1, 2, 3};
 System.out.println(a.contains(somestuff2));
Set;
MyO类;
布尔b=s.contains(o);

调用.contains()方法无法完成此操作。由于两个数组是相同的,所以必须迭代哈希表并检查值

int[]
未实现“deep”等于。好的,我将尝试arraylist,然后是的,arraylist应该可以工作。当然,你必须有整数元素。
Set<MyClass> s;
MyClass o;
boolean b = s.contains(o);