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中数据结构与算法(二):队列
Jun 19 Javascript
javascript实现添加附件功能的方法
Nov 18 Javascript
javascript获取wx.config内部字段解决微信分享
Mar 09 Javascript
总结在前端排序中遇到的问题
Jul 19 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
Aug 05 Javascript
javascript this详细介绍
Sep 19 Javascript
Vue学习笔记进阶篇之函数化组件解析
Jul 21 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
Mar 26 Javascript
详解Angular中通过$location获取地址栏的参数
Aug 02 Javascript
JavaScript对象字面量和构造函数原理与用法详解
Apr 18 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 Javascript
关于vue中如何监听数组变化
Apr 28 Vue.js
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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
Yii中的relations数据关联查询及统计功能用法详解
2016/07/14 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
Python中input和raw_input的一点区别
2014/10/21 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
Django数据库操作的实例(增删改查)
2017/09/04 Python
Python自定义简单图轴简单实例
2018/01/08 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
详解Python流程控制语句
2020/10/28 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
策划主管的工作职责
2013/11/24 职场文书
住房抵押登记委托书
2014/09/27 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书