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 特殊字符串
Feb 25 Javascript
jqPlot jquery的页面图表绘制工具
Jul 25 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Feb 04 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
Sep 14 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 Javascript
three.js中3D视野的缩放实现代码
Nov 16 Javascript
Vuex中mutations与actions的区别详解
Mar 01 Javascript
js中split()方法得到的数组长度问题
Jul 19 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
Feb 12 Javascript
vue使用代理解决请求跨域问题详解
Jul 24 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实现的oracle分页函数实例
2016/01/25 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
Python实现从URL地址提取文件名的方法
2015/05/15 Python
Numpy中的mask的使用
2018/07/21 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python占用的内存优化教程
2019/07/28 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
Python Django搭建网站流程图解
2020/06/13 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
《诺贝尔》教学反思
2014/02/17 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
公司寄语大全
2014/04/10 职场文书
事业单位考察材料范文
2014/12/25 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
Java Redisson多策略注解限流
2022/09/23 Java/Android