我的应用程序中有两种对象,其中一种对象只有一种对应的对象.
跟踪这种关系的明显选择是Map
,就像HashMap一样.但不知何故,我很怀疑.我可以在Map中使用一个对象作为键,传递它,将它放在另一个集合中,并随时从Map中检索它的伙伴吗?
创建一个对象后,我传来的只是一个标识符,对吧?所以可能没有问题.如果我序列化和反序列化密钥怎么办?
还有其他警告吗?我应该使用其他东西来关联对象,就像我自己生成的数字一样吗?
关键需要贯彻.equals()
和.hashCode()
正确
密钥不能以任何方式更改,以便.hashCode()
在将密钥用作密钥时更改其值
理想情况下,任何用作a中键的对象HashMap
都应该是不可变的.这将自动确保2.始终保持为真.
当它们用作键和/或值时,可能会保留可能以其他方式进行GC的对象.
我的应用程序中有两种对象,其中一种对象只有一种对应的对象.
这听起来像是一个有关系,因此可以使用一个简单的属性来实现.