js实现ArrayList功能附实例代码


Posted in Javascript onOctober 29, 2014

1.ArrayList方法摘要

构造方法摘要

ArrayList()
构造一个初始容量为 10 的空列表。
ArrayList(Collection<? extends E> c)
构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
ArrayList(int initialCapacity)
构造一个具有指定初始容量的空列表。
方法摘要
boolean add(E e)
将指定的元素添加到此列表的尾部。
void add(int index, E element)
将指定的元素插入此列表中的指定位置。
boolean addAll(Collection<? extends E> c)
按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
boolean addAll(int index, Collection<? extends E> c)
从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
void clear()
移除此列表中的所有元素。
Object clone()
返回此 ArrayList 实例的浅表副本。
boolean contains(Object o)
如果此列表中包含指定的元素,则返回 true。
void ensureCapacity(int minCapacity)
如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
E get(int index)
返回此列表中指定位置上的元素。
int indexOf(Object o)
返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
boolean isEmpty()
如果此列表中没有元素,则返回 true
int lastIndexOf(Object o)
返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
E remove(int index)
移除此列表中指定位置上的元素。
boolean remove(Object o)
移除此列表中首次出现的指定元素(如果存在)。
protected void removeRange(int fromIndex, int toIndex)
移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
E set(int index, E element)
用指定的元素替代此列表中指定位置上的元素。
int size()
返回此列表中的元素数。
Object[] toArray()
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
<T> T[] toArray(T[] a)
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
void trimToSize()
将此 ArrayList 实例的容量调整为列表的当前大小。

2.js实现部分功能

<html> 

<script type="text/javascript" src="json.js"></script> 

<head> 

<script type="text/javascript"> 

function ArrayList(){ 

this.arr=[], 

this.size=function(){ 

return this.arr.length; 

}, 

this.add=function(){ 

if(arguments.length==1){ 

this.arr.push(arguments[0]); 

}else if(arguments.length>=2){ 

var deleteItem=this.arr[arguments[0]]; 

this.arr.splice(arguments[0],1,arguments[1],deleteItem) 

} 

return this; 

}, 

this.get=function(index){ 

return this.arr[index]; 

}, 

this.removeIndex=function(index){ 

this.arr.splice(index,1); 

}, 

this.removeObj=function(obj){ 

this.removeIndex(this.indexOf(obj)); 

}, 

this.indexOf=function(obj){ 

for(var i=0;i<this.arr.length;i++){ 

if (this.arr[i]===obj) { 

return i; 

}; 

} 

return -1; 

}, 

this.isEmpty=function(){ 

return this.arr.length==0; 

}, 

this.clear=function(){ 

this.arr=[]; 

}, 

this.contains=function(obj){ 

return this.indexOf(obj)!=-1; 

} 
}; 

//新建一个List 

var list=new ArrayList(); 

//增加一个元素 

list.add("0").add("1").add("2").add("3"); 

//增加指定位置 

list.add(2,"22222222222"); 

//删除指定元素 

list.removeObj("3"); 

//删除指定位置元素 

list.removeIndex(0); 

for(var i=0;i<list.size();i++){ 

document.writeln(list.get(i)); 

} 

document.writeln(list.contains("2")) 

</script> 

</head> 

<body> 

</body> 

</html>
Javascript 相关文章推荐
Ajax 数据请求的简单分析
Apr 05 Javascript
javascript中onmouse事件在div中失效问题的解决方法
Jan 09 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
Mar 17 Javascript
js获取当前页面路径示例讲解
Jan 08 Javascript
javascript通过className来获取元素的简单示例代码
Jan 10 Javascript
node.js中的buffer.toJSON方法使用说明
Dec 14 Javascript
node.js中的http.createClient方法使用说明
Dec 15 Javascript
基于jquery实现人物头像跟随鼠标转动
Aug 23 Javascript
gulp安装以及打包合并的方法教程
Nov 19 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
May 02 Javascript
js实现for循环跳过undefined值示例
Jul 02 Javascript
让你30分钟快速掌握vue3教程
Oct 26 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
Oct 29 #Javascript
js中的json对象详细介绍
Oct 29 #Javascript
鼠标悬浮显示二级菜单效果的jquery实现
Oct 29 #Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
Oct 29 #Javascript
JavaScript中的迭代器和生成器详解
Oct 29 #Javascript
JS实现倒计时和文字滚动的效果实例
Oct 29 #Javascript
javascript设置连续两次点击按钮时间间隔的方法
Oct 28 #Javascript
You might like
php连接数据库代码应用分析
2011/05/29 PHP
php导出CSV抽象类实例
2014/09/24 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
vue 解决provide和inject响应的问题
2020/11/12 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
Python松散正则表达式用法分析
2016/04/29 Python
python tkinter窗口最大化的实现
2019/07/15 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
餐饮收银员岗位职责
2014/02/07 职场文书
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
小学一年级学生评语
2014/04/22 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
开学第一周总结
2015/07/16 职场文书
主婚人致辞精选
2015/07/28 职场文书
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库