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的面向对象方法以及差别
Mar 31 Javascript
读jQuery之九 一些瑕疵说明
Jun 21 Javascript
javascript中setTimeout使用指南
Jul 26 Javascript
JavaScript代码性能优化总结(推荐)
May 16 Javascript
js print打印网页指定区域内容的简单实例
Nov 01 Javascript
在一个页面重复使用一个js函数的方法详解
Dec 26 Javascript
Vue.js移动端左滑删除组件的实现代码
Sep 08 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
js 下拉菜单点击旁边收起实现(踩坑记)
Sep 29 Javascript
antd 表格列宽自适应方法以及错误处理操作
Oct 27 Javascript
JavaScript实现登录窗体
Jun 22 Javascript
vue中使用mockjs配置和使用方式
Apr 06 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
自动分页的不完整解决方案
2007/01/12 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
Javascript Memoizer浅析
2014/10/16 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
小程序云开发实战小结
2018/10/25 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
浅析vue-router中params和query的区别
2019/12/24 Javascript
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
Python写入数据到MP3文件中的方法
2015/07/10 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
django表单的Widgets使用详解
2019/07/22 Python
详解Python是如何实现issubclass的
2019/07/24 Python
tensorflow的计算图总结
2020/01/12 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
学python爬虫能做什么
2020/07/29 Python
C++面试题目
2013/06/25 面试题
大学生旅游业创业计划书
2014/01/29 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
MySQL sql模式设置引起的问题
2022/05/15 MySQL