2016-07-13 19 views
0

LinkedHashMapよりいくつかのメソッドを持つカスタムLinkedHashMapを実装したいと思います。私はLinkedHashMapを超えてそれを作って、私が望むものとそれ以外のものについては、LHMからメソッドを呼び出すことについて、実装を変更することを考えていました。カスタムLinkedHashMapを効率的に実装する方法

それは効率的ですか?何かのように:とても基本的にはすでにJavaからメソッドを呼び出すcontainsKeycontainsValueが...私はちょうど(キー)リターン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

あなたは'パブリッククラスCustomLHM は、のLinkedHashMap は '地図を実装して拡張行うことはできません:-)それに私を打ちます? – Mocktheduck

答えて

0

つまり、デリゲートパターンです。すべての呼び出しを1つのフィールドに委任します。

ヒント:「スーパー」を

IDEがあなたのためにそれを行うことができない場合は、最初にオーバーライド、その後、すべてのメソッドIDEのオーバーライドを呼び出し置き換えます"と入力してください。"

効率性は、特にJITコンパイラでは問題になりません。

最新のJavaコンパイラHashMapでも改良されているように(私が信じるツリーセットのバケツ)、私は生産品質の堅牢性が必要なものを自分で実装することを控えます。または、より良い:メンテナンスを必要としない。

関連する問題