用户ID :  密码 : 

登 录

注 册

时代财富科技公司 FortuneAge Technology Co., Ltd. 校园博客客服网站(新)

我的资料

Jorman

博客信息

积分:207
等级:3级 lv 3
日志总数:47
发表评论总数:4 (查看)
获得评论总数:29
发表留言总数:0
浏览总数:30378

最新公告

        现通缉FLASH若干,若有寻获精美FLASH网站及好玩的FLASH游戏者,请告知,重筹!


                    特此公告
                    以儆效尤

我的日历

最新评论

RE:Flv网络播放器制作全攻略——第四步
loader.scrub._x = ns.time / p... RE:陈炯组的表演节目
后半part能带动现场气氛,后劲十足,正!!有睇头! RE:与雪佛兰一起变形未来
年会下午的视频怎么没有啊??? RE:与雪佛兰一起变形未来
极度恶劣...开一次你的博客,死一次IE...找一篇干净的... RE:节目排练花絮
花絮也很精彩呀呀

最新留言

[全部留言] [发表留言]
http://www.fortuneage.com/ama...
这个模板总是导致我点错地方,晕!
肥仔的博客看了很有感觉.模版很有个性,内容也不错.继续努力!
偶来踩门,灌水~~~
偶来踩门,灌水~~~

RSS

首页 -> AS笔记->[转贴]从Array和Object派生了ArrayList的类
[转贴]从Array和Object派生了ArrayList的类

ArrayList.as 源程序如下:

  1. package thor.collections 
  2. {  
  3.     /**
         * 数组类,由于个人习惯的原因,对Array进行了简单的封装
         * @author THOR
         */
     
  4.     public dynamic class ArrayList extends Array  
  5.     {  
  6.         /**
             * 构造一个数组
             * 在构造时仅支持new ArrayList(元素1,元素2,元素3,元素4...)的形式
             */
     
  7.         public function ArrayList(...args)  
  8.         {  
  9.             constructArrayList(args);  
  10.         }  
  11.           
  12.         /**
             * 构造数组元素
             * @param args 元素列表
             * @return 无
             */
     
  13.         protected function constructArrayList(args:Array):void  
  14.         {  
  15.             if(args==null) return;  
  16.               
  17.             for(var i:int=0;i            {  
  18.                 add(args[i]);  
  19.             }  
  20.         }  
  21.           
  22.         /**
             * 获取一个元素所在的索引
             * @param item 搜索的元素
             * @return 如果找到,返回该元素所在索引,如果没有找到,返回-1
             */
     
  23.         protected function getIndex(item:*):int  
  24.         {  
  25.             var result:int=-1;  
  26.               
  27.             for(var i:int=0;i            {  
  28.                 if(this[i]==item)  
  29.                 {  
  30.                     result=i;  
  31.                     break;  
  32.                 }  
  33.             }  
  34.               
  35.             return result;  
  36.         }  
  37.           
  38.         /**
             * 添加一个新的元素
             * @param item 新增的元素
             * @return 无
             */
     
  39.         public function add(item:*):void  
  40.         {  
  41.             push(item);  
  42.         }  
  43.           
  44.         /**
             * 插入一个新的元素
             * @param item 新增的元素
             * @param index 插入的索引位置
             * @return 无
             */
     
  45.         public function insert(item:*,index:int):void  
  46.         {  
  47.             if(index>=0 && index<=length)  
  48.             {  
  49.                 splice(index,0,item);  
  50.             }  
  51.         }  
  52.           
  53.         /**
             * 移除一个元素
             * @param item 移除的元素
             * @return 无
             */
     
  54.         public function remove(item:*):void  
  55.         {  
  56.             var index:int=getIndex(item);  
  57.             if(index>=0)  
  58.             {  
  59.                 splice(index,1);  
  60.             }  
  61.         }  
  62.           
  63.         /**
             * 移除指定索引的元素
             * @param index 指定的索引
             * @param count 删除的数量,默认为1
             * @return 无
             */
     
  64.         public function removeAt(index:int,count:int=1):void  
  65.         {  
  66.             if(index>=0 && index+count<=length)  
  67.             {  
  68.                 splice(index,count);  
  69.             }  
  70.         }  
  71.           
  72.         /**
             * 清除
             */
     
  73.         public function clear():void  
  74.         {  
  75.             removeAt(0,length);  
  76.         }  
  77.     }  

类的使用方法如下:

  1. /*
                 *******************************
                 * 演示如何使用ArrayList
                 *******************************
                 */
     
  2.               
  3.             //帝国所有FLASH开发人员  
  4.             var list1:ArrayList=new ArrayList("EastEcho","CGBrid","THOR","大愚","幻鲨","船长","Pawaca","Dofy");  
  5.               
  6.             trace("闪客帝国所有Flash开发人员名单: "+list1);  
  7.               
  8.             //已经离开帝国的人员  
  9.             list1.remove("CGBrid");  
  10.             list1.remove("幻鲨");  
  11.             list1.remove("大愚");  
  12.             list1.remove("船长");  
  13.               
  14.             trace("闪客帝国现有Flash开发人员名单: "+list1);  
  15.               
  16.             //除去边城浪子之后的正式\常规则Flash开发人员  
  17.             list1.removeAt(0);  
  18.               
  19.             trace("闪客帝国常规Flash开发人员名单: "+list1);  
  20.               
  21.             list1.clear();  

网友评论

共 0 页,0 条记录  

用户名:
密码:
您的评论:



发 表 评 论