MapObject.as
MapObjectpackage{import mx.collections.ArrayCollection; public class HashMap { private var arrayCollection:ArrayCollection = null;public function HashMap () { this.arrayCollection = new ArrayCollection(); } public function isEmpty():Boolean{return this.arrayCollection.length <= 0;}public function getLength():int{return this.arrayCollection.length;}public function clear():void{this.arrayCollection.removeAll();}public function gets ( key:String ):Object { for each ( var obj:MapObject in this.arrayCollection ) { if ( obj.key == key ) { return obj.value; } } return null; } //获取所有的键public function getAllKeys ():ArrayCollection { var keys:ArrayCollection = new ArrayCollection();for each ( var obj:MapObject in this.arrayCollection ) { keys.addItem(obj.key);} return keys; }public function getAllValues ():ArrayCollection { var values:ArrayCollection = new ArrayCollection();for each ( var obj:MapObject in this.arrayCollection ) { values.addItem(obj.value);} return values; }public function puts ( key:String , value:Object ):void { if ( !this.arrayCollection.contains( value )) { this.arrayCollection.addItem( new MapObject( key , value )); } } public function remove ( key:String ):Boolean { var mo:MapObject = null; for ( var i:int = 0 ; i < this.arrayCollection.length ; ++i ) { mo = MapObject( this.arrayCollection.getItemAt( i )); if ( mo.key == key ) { this.arrayCollection.removeItemAt( i ); return true; } } return false; } public function contains ( key:String ):Boolean { for each ( var obj:MapObject in this.arrayCollection ) { if ( obj.key == key ) { return true; } } return false; } }}
HashMap.as
package{public class MapObject{private var _key:String=null;private var _value:Object=null;public function MapObject(k:String,v:Object){this._key=k;this.value=v;}public function set key(k:String):void{this._key = k;}public function get key():String{return this._key;}public function set value(v:Object):void{this._value = v;}public function get value():Object{return this._value;}}}