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面向对象编程
Nov 15 Javascript
js 处理数组重复元素示例代码
Dec 27 Javascript
Document.location.href和.replace的区别示例介绍
Mar 04 Javascript
vue构建单页面应用实战
Apr 10 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
Mar 14 Javascript
js动态引入的四种方法
May 05 Javascript
新手入门带你学习JavaScript引擎运行原理
Jun 24 Javascript
vue回到顶部监听滚动事件详解
Aug 02 Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 Javascript
详解JavaScript 高阶函数
Sep 14 Javascript
vant自定义二级菜单操作
Nov 02 Javascript
Array.filter中如何正确使用Async
Nov 04 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环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
List Installed Hot Fixes
2007/06/12 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
jQuery+ajax读取并解析XML文件的方法
2016/09/09 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python 时间处理datetime实例
2008/09/06 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
linux 下selenium chrome使用详解
2020/04/02 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
PHP如何自定义函数
2016/09/16 面试题
应届生自荐信
2014/06/30 职场文书
学习十八大的心得体会
2014/09/12 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
扬州个园导游词
2015/02/06 职场文书
怎样写辞职信
2015/02/27 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书