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 相关文章推荐
基于Jquery实现的一个图片滚动切换
Jun 21 Javascript
Javscript删除数组中指定元素并返回新数组
Mar 06 Javascript
原生js实现日期联动
Jan 12 Javascript
JQuery中DOM加载与事件执行实例分析
Jun 13 Javascript
js实现全国省份城市级联下拉菜单效果代码
Sep 07 Javascript
AngularJS中一般函数参数传递用法分析
Nov 22 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
Dec 20 Javascript
Vue.js上下滚动加载组件的实例代码
Jul 17 Javascript
vue.js实现标签页切换效果
Jun 07 Javascript
详解react阻止无效重渲染的多种方式
Dec 11 Javascript
React实现轮播效果
Aug 25 Javascript
浅析JavaScript中的变量提升
Jun 01 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
在PHP语言中使用JSON和将json还原成数组的方法
2016/07/19 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
python数据结构之图的实现方法
2015/07/08 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
Pycharm github配置实现过程图解
2020/10/13 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
UNIX文件系统常用命令
2012/05/25 面试题
总经理驾驶员岗位职责
2013/12/04 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python
四十九个javascript小知识实用技巧
2021/11/20 Javascript