📄 glllmap.as
字号:
package com.ll19.util.map {
import com.ll19.util.map.IMap;
/**
* - GL'LL. -
* 实现IMap
*
* @author <a href="http://www.LL19.com/">LL19.com</a>
*
*/
public class GlllMap implements IMap {
private var obj:Object = new Object();
private var keys:Number = 0;
/**
* 将指定的值与键关联.
* @param key 键.
* @param value 值.
*/
public function put(key:String,value:Object):void {
var temp:Object = obj[key];
if(temp == null) {
obj[key] = value;
keys++;
}
else {
obj[key] = this.get(key);
}
}
/**
* 返回此映射中映射到指定键的值.
* @param key 与指定值相关联的键.
* @return 此映射中映射到指定值的键,如果此映射不包含该键的映射关系,则返回 null.
*/
public function get(key:String):Object {
return obj[key];
}
/**
* 如果此映射包含指定键的映射关系,则返回 true.
* @param key 测试在此映射中是否存在的键.
* @return 如果此映射包含指定键的映射关系,则返回 true.
*/
public function containsKey(key:String):Boolean {
var temp:Object = obj[key];
if(temp != null) {
return true;
}
return false;
}
/**
* 如果该映射将一个或多个键映射到指定值,则返回 true.
* @param value 测试在该映射中是否存在的值
* @return 如果该映射将一个或多个键映射到指定值,则返回 true.
*/
public function containsValue(value:Object):Boolean {
for(var temp:String in obj) {
if(obj[temp] == value) {
return true;
}
}
return false;
}
/**
* 返回此映射中包含的所有值.
* @return 包含所有值的数组
*/
public function values():Array {
if(keys != 0) {
var ary:Array = new Array();
for(var temp:String in obj) {
ary.push(obj[temp]);
}
return ary;
}
else {
return undefined;
}
}
/**
* 返回此映射中包含的所有key值.
* @return 包含所有key的数组
*/
public function allKey():Array {
if(keys != 0) {
var ary:Array = new Array();
for(var temp:String in obj) {
ary.push(temp);
}
return ary;
}else {
return undefined;
}
}
/**
* 返回此映射中包含的所有key值.
* @return 包含所有key的数组
*/
public function getKeyAndValues():Object {
return obj;
}
/**
* 从此映射中移除所有映射关系
*/
public function clear():void {
for(var temp:String in obj) {
delete obj[temp];
}
keys = 0;
}
/**
* 如果存在此键的映射关系,则将其从映射中移除
* @param key 从映射中移除其映射关系的键
*/
public function remove(key:String):void {
if (containsKey(key)) {
delete obj[key];
keys--;
}
}
/**
* 返回此映射中的键-值映射关系数.
* @return 此映射中的键-值映射关系的个数.
*/
public function size():Number {
return keys;
}
/**
* 如果此映射未包含键-值映射关系,则返回 true.
* @return 如果此映射未包含键-值映射关系,则返回 true.
*/
public function isEmpty():Boolean {
if(keys != 0) {
return true;
}
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -