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 获取URL参数的插件
Mar 04 Javascript
提升PHP安全:8个必须修改的PHP默认配置
Nov 17 Javascript
JavaScript检测实例属性, 原型属性
Feb 04 Javascript
JavaScript列表框listbox全选和反选的实现方法
Mar 18 Javascript
js变量提升深入理解
Sep 16 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
Dec 14 Javascript
基于Vue单文件组件详解
Sep 15 Javascript
JS实现的集合去重,交集,并集,差集功能示例
Mar 13 Javascript
详解小程序原生使用ES7 async/await语法
Aug 06 Javascript
浅析vue中的MVVM实现原理
Mar 04 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
帮你提高开发效率的JavaScript20个技巧
Jun 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
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
php根据年月获取季度的方法
2014/03/31 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
js小技巧--自动隐藏红叉叉
2007/08/13 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
详解js类型判断
2018/05/22 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
python实现用户答题功能
2018/01/17 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
python3 deque 双向队列创建与使用方法分析
2020/03/24 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
大二自我鉴定范文
2013/10/05 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
医德医风自我评价
2014/09/19 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js