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 相关文章推荐
做网页的一些技巧
Feb 01 Javascript
用Javascript读取中文COOKIE的解决办法
Feb 15 Javascript
JavaScript asp.net 获取当前超链接中的文本
Apr 14 Javascript
javascript json2 使用方法
Mar 16 Javascript
四种参数传递的形式——URL,超链接,js,form表单
Jul 24 Javascript
js实现兼容IE、Firefox的图片缩放代码
Dec 08 Javascript
js获取腾讯视频ID的方法
Oct 03 Javascript
详解js界面跳转与值传递
Nov 22 Javascript
layui表格实现代码
May 20 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
Aug 24 Javascript
JavaScript模块模式实例详解
Oct 25 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
Aug 25 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 array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
Javascript之String对象详解
2016/06/08 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
Python设计模式之工厂模式简单示例
2018/01/09 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
python开启debug模式的方法
2019/06/27 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Python制作词云图代码实例
2019/09/09 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
幼儿园元旦家长感言
2014/02/27 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
学校献爱心活动总结
2014/07/08 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
2015年预算员工作总结
2015/05/14 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers