私はHashMap implementation in AS3をテストしていました。私は次のコードを試してみましたフレックス辞書のバグ?
:ハッシュマップのサイズが0になっていませんでしたが、それは1だった
map.clear();
:
var map:IMap = new HashMap();
map.put("a", "value A");
map.put("b", "value B");
map.put("c", "value C");
map.put("x", "value X");
map.put("y", "value Y");
map.put("z", "value Z");
は、それから私は、clear()メソッドを呼び出しました。問題は、キーが "y"のときに削除されないことです。次のように 対応するコードは次のとおりです。
protected var map:Dictionary = null;
public function HashMap(useWeakReferences:Boolean = true)
{
map = new Dictionary(useWeakReferences);
}
public function put(key:*, value:*) : void
{
map[key] = value;
}
public function remove(key:*) : void
{
map[ key ] = undefined;
delete map[ key ];
}
public function clear() : void
{
for (var key:* in map)
{
remove(key);
}
}
私は再びクリア()関数を呼び出した場合は、残りのキーは削除されます。
if (size() != 0)
{
clear();
}
誰もがYキー「はdoesnの理由です何を知っています削除されますか?