我想实现一个自定义LinkedHashMap
,它有一些方法/一些与LinkedHashMap
不同。我正考虑将其设置为LinkedHashMap
,并根据我想要的任何内容改变实现,其余的只需从LHM调用方法。
效率这么高吗?类似的东西:
public class CustomLHM<K, V> implements Map<K, V>{
private final HashMap<K, V> entries;
public CustomLHM() {
entries = new LinkedHashMap<K, V>();
}
对于像containsKey
,containsValue
这样的方法......我只是做一个返回entries.containsKey(key)所以基本上只是从已经实现的java LinkedHashMap
调用方法。我的问题是......有更好的方法吗?实现它的更有效方法是什么?
如果我自己使用LHM的实际实现等基本结构来实现它会更有效吗?
答案 0 :(得分:0)
这是委托模式,将所有调用委托给一个字段。
提示:
如果IDE无法为您执行此操作,请首先覆盖,然后调用IDE覆盖所有方法,替换“super”。与“条目。”。
效率并不是真正的问题,特别是对于JIT编译器。
即使在最新的Java编译器中,HashMap也得到了改进(我相信使用树集的存储桶),我会避免自己实现需要生产质量稳定性的东西。或者更好:不需要维护。