-
来源:www.klstudio.com
作者:kinglong
2007-04-23
【大 中小】
[AS3]常用数据集合类
[ActionScript版本] ActionScript3
[Flash Player版本] Flash 9.0
本来我是想参考Java方式采用接口方式来实现像“Map,Iterator,Queue,Stack,Iterable,Collection,ArrayList,Hashtable”等Java中常用的数据类,发现越写越复杂了!而且我后来感觉没有必要搞得那么复杂,比如说像ArrayList类吧,Flash当中已经有Array类了,也没有必要再去写一个了,而像HashMap吧,Flash又不能实现Hash表,还不如干脆去掉Hash了,直接用Map了,像Iterator,Collection类吧,完全用Array都可以实现了,也没有必要再写新的了,对于Flash来说,简单,高效就可以了!所以我就重新写了Map,Queue,Stack等常用的数据集合类!(效率以后不断去优化了)
另外发现Flash不能像Java那样可以强制转换类型,所以这几个类只好采用Flash的方式了,也就是不确定类型都用*号来代替,如 get(key:*):*;同时也发现Flash也采用像Java那样trace(new Point(x,y)),显示一个对象就会自动去调用这个对象中的toString方法!
本人觉得AS3语法太综合其他语言了,有些不伦不类的。说不好听的话,就是一个“杂交”品种!
Map类:类似于Java中的HashMap类的功能,可以储存不同的键和键值;
Queue类:也类似于Java中的Queue接口实现的队列功能,以 FIFO(先进先出)的方式排序各个元素。
Stack类:也参考Java中的Stack类实现堆栈功能,按 LIFO(后进先出)的方式对元素进行排序。