1
我正在測試HashMap implementation in AS3。flex字典錯誤?
我曾嘗試下面的代碼:
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()方法:
map.clear();
HashMap中的大小沒有成爲0,但它是1。問題是,當密鑰是「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);
}
}
如果我再次調用clear()函數,其餘的按鍵將被刪除:
if (size() != 0)
{
clear();
}
有誰知道是什麼原因Y鍵沒有按」噸被刪除?