在Java脚本语言中构建数组列表示例代码
前面我们介绍了Java Script语言数组的原料药,在Java脚本语言中数组本身就非常强大,可以存储任意类型,且长度自动扩容,又提供遍历,过滤,等多个操作数组的方法。
简直完爆爪哇的的数组(长度固定,单一类型)。而爪哇中的集合类就是弥补数组不足,其底层大多使用对象[]存储,只是提供动态扩容的策略,当然JDK的应用程序接口之丰富,是其他语言难以匹敌的。
但是不妨碍我对Java、JavaScript的喜爱。
爪哇就像一个中年老妇女,你总能在JDK中看到她的风韵犹存,在构建大型分布式系统,就能体现出她的谆谆教导;
而Java脚本语言就是含苞待放的少女,每一次绽放,就会激起你内心的涟漪,得小心调教,才能为你所用。
好吧原谅我不恰当的比喻,来点干货。
/* * * @类ArrayList * @描述* @时间2014-09-16 21:59 * @作者星邹* */函数ArrayList(arr){ this ._ ElEMENTDATa=arr | |[];} var ArrayList原型={ ' _ arrayPrototype ' :数组。prototype,' _ getData ' : function(){返回这个._ elementData},“大小”:函数(){返回这个_getData().长度;}、“isEmpty”:函数(){返回这个。size()===0;},“包含”:函数{退回这个。index of(obj)-1;},索引为:函数{ var i,data=this ._getData(),长度=data . length for(I=0;一、长度;I){ if(obj===data[I]){ return I;} } return-1;},' lastIndexOf':函数{ var i,data=this ._getData(),长度=data . length for(I=length-1;I-1;I-){ if(obj===data[I]){ return I;} } return-1;}、“获取”:函数(索引){返回这个._ GetDATa()[索引];},“设置”:函数(索引,元素){这个._ GetDATa()[索引]=元素;}、“添加”:函数(索引,元素){ if(元素){ this。集合(索引、元素);} else {返回此_getData().推送(索引);} },删除:函数(索引){ var oldValue=this ._ GetDATa()[索引];这个. GetDATa()[index]=null;返回旧值;},清除:函数(){这个._getData().长度=0;},' addAll':函数(索引,数组){ if(数组){这个._getData().拼接(索引,0,数组);} else { this ._arrayPrototype.push.apply(这. getData(),索引);} } };数组列表。prototype=ArrayList原型;//测试代码var arr=new ArrayList([3,6,5,' xyz ',' foo ',' XYZ ']);控制台。日志(arr。包含(' XYZ ');控制台。日志(arr。indexof(' XYZ ');控制台。日志(arr。last indexof(' XYZ ');控制台。日志(arr。get(2));arr.addAll([1,2,3]);控制台。日志;
上面代码实现了一部分,还有优化地方,
以后有时间写Java脚本语言模拟实现树、堆栈、队列、映射等数据结构的类。
版权声明:在Java脚本语言中构建数组列表示例代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。