| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
哪些个人主页可以
储存视频会议的正
不需要Flex也可以
ASFps类是一个可以
AS基础精典教程 第
AS教程-关于编写
FLASH可以对数据进
改Tween类(可以实
可以对病毒说不--
将Session值储存于

可以储存对象的类HashMap(集合)           

可以储存对象的类HashMap(集合)

作者:佚名 来源:不详 更新:2007-1-13 20:36:26 错误报告 我要投稿
 最近在做flash,觉得flash里没有像java那样有个可以存取对象的类,很不方便
所以自己花了点时间写了个HashMap的类.有兴趣的人可以研究一下.很简单.
基本功能都写了,当然要扩展还是可以的.下面是HashMap.as类
//************************************************************************ 
//author:弃天笑 
//E-mail:sujun10@21cn.com     @2006年8月10号 
//功能描述: 
//根据key,value存取对象.类似与java的HashMap类的功能,用法大概相似 
////************************************************************************ 
class HashMap 

        private var ListArray:Array 
        private var empty:Boolean; 
         
        public function HashMap() 
        { 
                ListArray = new Array(); 
        } 
        //存储一个新的对象 
        public function put(key:String, value:Object):Void 
        { 
                var object:Object = new Object(); 
                object.key = key; 
                object.value = value; 
                ListArray.push(object); 
        } 
        //获取储存里的对象 
        public function get(key:String):Object 
        { 
                for(var i = 0; i < ListArray.length; i++) 
                { 
                        if(ListArray[i].key == key) 
                        { 
                                return ListArray[i].value; 
                        } 
                } 
                return new Object("没有当前对象"); 
        } 
        //判断集合是否为空 
        public function isEmpty():Boolean 
        { 
                if( ListArray.length == 0) 
                { 
                        return empty = true; 
                } 
                return empty = false; 
        } 
        //清除集合中的所有元素 
        public function clear():Void 
        { 
                while(ListArray.length >= 0) 
                { 
                        ListArray.pop(); 
                } 
        } 
        //集合的长度 
        public function size():Number 
        { 
                return ListArray.length; 
        } 
        //删除当前对象 
        public function remove(key:String):Object 
        { 
                var tempObject:Object; 
                var num:Number; 
                for(var i = 0; i < ListArray.length; i++) 
                { 
                        if(ListArray[i].key = key) 
                        { 
                                tempObject = ListArray[i].value; 
                                num = i; 
                                break; 
                        } 
                } 
                for(var i = num; i <= ListArray.length; i++) 
                { 
                        var temp:Object = ListArray[i + 1].value; 
                        ListArray[i + 1].value = ListArray[i].value; 
                } 
                ListArray.pop(); 
                return tempObject; 
        } 


下面是测试代码: 
var map:HashMap = new HashMap(); 
var mc:Object = new Object(); 
mc.key = "soda"; 
var mcc:Object = new Object(); 
mcc.key = "sodar"; 

map.put("mc",mc); 
map.put("mcc",mcc); 
//map.clear(); 
var m:Object = map.get("mc"); 
trace("mc:" + m.key); 
//map.remove("mmc") 
trace("mcc:" + map.get("mcc").key); 
trace("测试存放数组"); 
var list:Array = new Array(); 
list.push("soda"); 
list.push("sodar"); 
map.put("list",list); 
var ls:Object = map.get("list"); 
for(var i = 0; i < ls.length; i++) 

        trace(ls[i]); 

在flash 8 测试通过

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。