我知道IdentityHashSet(通过Collections#newSetFromMap(Map))和LinkedHashSet.但是,我需要的是两者的结合,a LinkedIdentityHashSet.我在网上找不到任何现成的解决方案.有谁知道如何调整这个?
谢谢你的建议!
那里的实施技术不能很好地结合.LinkedHashMap将链接列表添加到地图的条目对象.IdentityHashMap使用探测技术,因此避免任何入口对象.
有几种方法可以为集合/地图添加"身份"特征.
final equals和hashCode方法强制键类型正确运行.真的所有参考类型都应该有这个,但没关系.equals并且hashCode可以修改该类,请添加一个类的final字段,final该类包含final对您要用作键的类型的引用.使用新字段作为键.equals/ hashCode方法调用==/ System.identityHashCode原始对象上.| 归档时间: |
|
| 查看次数: |
2463 次 |
| 最近记录: |