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 特性检测并非浏览器检测
Jan 15 Javascript
常用的JS验证和函数汇总
Dec 23 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
Mar 03 Javascript
JS动态修改图片的URL(src)的方法
Apr 01 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
Mar 25 Javascript
jquery仿京东商品放大浏览页面
Jun 06 jQuery
详解Vue.js项目API、Router配置拆分实践
Mar 16 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
May 12 Javascript
深入浅析var,let,const的异同点
Aug 07 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
Dec 20 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在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
js实现简洁的TAB滑动门效果代码
2015/09/06 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
为Python程序添加图形化界面的教程
2015/04/29 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
市场营销求职信范文
2014/02/21 职场文书
行政人事岗位职责
2014/03/17 职场文书
《假如》教学反思
2014/04/17 职场文书
残疾人小组计划书
2014/04/27 职场文书
教育读书笔记
2015/07/02 职场文书
初中毕业感言300字
2015/07/31 职场文书
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript