我希望有一個Java數據類型存儲鍵值對,並允許通過鍵或索引檢索值。使用鍵或索引從Java中的數據類型檢索值
我推出了自己的數據類型,它擴展了java.util.Dictionary
並提供了一個at
函數來實現按索引檢索的功能。
class DataHash <K,V> extends Dictionary<K,V> {
private List<K> keyOrder = new ArrayList<K>();
private Dictionary<K,V> internalDataStore = new Hashtable<K,V>();
@Override
public V put(K key, V value){
//guards go here to prevent null, duplicate keys etc.
this.keyOrder.add(key);
return this.internalDataStore.put(key, value);
}
@Override
public V get(K key){
return this.internalDataStore.get(key);
}
public V at(int index){
K key = this.keyOrder.get(index);
return this.internalDataStore.get(key);
}
//and other functions to extend dictionary etc.
//all keeping the keyOrder in sync with the internalDataStore
}
我的問題那麼是,是否有這這樣做,或者在我的自定義數據類型來實現這個更有效的方式現有數據類型?