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 相关文章推荐
javascript对象之内置对象Math使用方法
Apr 16 Javascript
location.href语句与火狐不兼容的问题
Jul 04 Javascript
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 Javascript
javascript获取重复次数最多的字符
Jul 08 Javascript
jquery动态添加文本并获取值的方法
Oct 12 Javascript
jQuery实现复选框的全选和反选
Feb 02 Javascript
Move.js入门
Feb 08 Javascript
Bootstrap Table使用整理(四)之工具栏
Jun 09 Javascript
用p5.js制作烟花特效的示例代码
Mar 21 Javascript
vue2使用keep-alive缓存多层列表页的方法
Sep 21 Javascript
小程序click-scroll组件设计
Jun 18 Javascript
微信小程序手动添加收货地址省市区联动
May 18 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+MYSQL的文章管理系统(一)
2006/10/09 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Python正则表达式使用范例分享
2016/12/04 Python
python定向爬取淘宝商品价格
2018/02/27 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
Django 拆分model和view的实现方法
2019/08/16 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
Python作用域与名字空间原理详解
2020/03/21 Python
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
农村党支部先进事迹
2014/01/14 职场文书
企业管理毕业生求职信范文
2014/03/07 职场文书
党的生日演讲稿
2014/09/10 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
运动会广播稿200字
2014/10/18 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
党员进社区活动总结
2015/05/07 职场文书
学习经验交流会策划书
2015/11/02 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
Android Studio实现带三角函数对数运算功能的高级计算器
2022/05/20 Java/Android
SpringBoot Http远程调用的方法
2022/08/14 Java/Android