これはWidgetMap
のリンクリストとして実装されたマップです。ひどく効率的な、または有用なものとして私を攻撃することはありませんが、機能するはずです。私はあなたもremove
機能が必要だと思っていますが、私はそれを練習問題として残します。これはまた、Widget.equals
関数を適切にオーバーライドすると仮定していますが、その要件を持たないように修正するのは簡単です。
class BadMap implements WidgetMap{
private WidgetMap next = null;
private Widget key = null;
private Widget val = null;
public void put(Widget _key, Widget _value){
if(key == null){
key = _key;
val = _value;
}else if(key.equals(_key)){
val = _value;
}else if(next != null){
next.put(_key, _value);
}else{
next = new BadMap();
next.put(_key, _value);
}
}
public Widget get(Widget _key){
if(key != null && key.equals(_key)){
return val;
}else if(next != null){
return next.get(_key);
}else{
return null;
}
}
}
Working example code.
これは宿題であれば、それはただのコレクション –
を使用していない場合、それはありません...、などのタグを付けなければなりませんが、十分に近い – vector
あなたはどのように使用しなくてもJavaで何かを実装することができますjdkクラス? – Kal