我正在尝试存储3个值。最后一个值是可以通过XID访问的对象。主ID可用于获取对象。
我可以想到两种实现方法。哪种方法更好?另外,哪个在线程安全和更快的查找方面更好?
创建一个类并将其添加到HashMap。
public class TestMap {
private int xid;
private XObject xobject;
public TestMap(int xid, XObject xobject) {
this.xid = xid;
this.object = object;
}
public int getXid() { return xid; }
public XObject getXOBject { return xobject; }
}
map.put(ID, new TestMap(xid, xobject));
创建嵌套的HashMap
HashMap<id, HashMap<xid, XObject>> map = new HashMap<>();
map.put(id, new HashMap() {{ put(xid, xobject); }} );
答案 0 :(得分:0)
当您通过主ID访问它时,您首先需要指定XID吗?
我假设你不这样做。在这种情况下,我会制作两张地图。
其中一个Map<id,object>
是您在id
查找时使用的Map<xid,object>
。第二个是xid
,您在查看{{1}}时会使用。