2016-07-13 1 views
0

LinkedHashMap과 약간 다른 방법이있는 사용자 정의 LinkedHashMap을 구현하고 싶습니다. 나는 LinkedHashMap 이상으로 만들고, 원하는대로 구현하고 나머지는 그냥 LHM에서 메소드를 호출하는 것에 대해 생각하고있었습니다.Custom LinkedHashMap을 효율적으로 구현하는 방법

효율적입니까? 뭔가 같이 : 그래서 기본적으로 그냥 이미 자바에서 메소드를 호출 containsKey, containsValue ... 난 그냥 (키) 반환 entries.containsKey을 할 것 같은 방법에 대한 SO

public class CustomLHM<K, V> implements Map<K, V>{ 

    private final HashMap<K, V> entries; 

    public CustomLHM() { 
     entries = new LinkedHashMap<K, V>(); 
    } 

LinkedHashMap을 구현했습니다. 내 질문은 ... 더 좋은 방법이 있나요? 그것을 구현하는보다 효율적인 방법은 무엇입니까?

LHM의 실제 구현과 같은 기본 구조로 직접 구현하면 더 효율적입니까?

+0

이유가 없습니까 _extend_'LinkedHashMap '? –

+0

@JimGarrison이 나를 때려 눕힌다 :-) – Mureinik

+0

정의를 바꿀 수 없기 때문에'Map' 인터페이스를 통해 구현하고있다. – Mocktheduck

답변

0

즉, 대리자 패턴이며 모든 호출을 하나의 필드에 위임합니다.

팁 : ". 슈퍼"

IDE를 당신을 위해 그렇게 할 수 없다면, 먼저 우선, 다음, 모든 방법 IDE의 재정의 전화 교체 "항목이 있습니다."

효율성은 특히 JIT 컴파일러로는 문제가되지 않습니다.

최신 Java 컴파일러 HashMap이 개선되었지만 (내가 믿는 트리 세트가있는 버킷), 나는 생산 품질의 견고성을 필요로하는 무언가를 자체 구현하지 않아야합니다. 또는 유지 관리가 필요하지 않습니다.

관련 문제