OCP书上的这句话是正确的吗?
HashSet将其元素存储在哈希表中,这意味着keys are a hash和值是一个对象.
我已经创建了以下代码片段:
class A
{
private String s;
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
HashSet<A> elems = new HashSet<>(Set.of(new A("abc"), new A("cba"), new A("a")));
Field field = elems.getClass().getDeclaredField("map");
field.setAccessible(true);
HashMap privateMap = (HashMap) field.get(elems);
}
public A(String s)
{
this.s = s;
}
}
And as a result I retrieved the following HashMap:
它看起来像是对象本身是HashMap中的键,而不是它的散列是键.这本书有没有错,或者我看到的是不相关的东西?