首页 > 语言 > JavaScript > 正文

js实现ArrayList功能附实例代码

2024-05-06 16:10:10
字体:
来源:转载
供稿:网友
ArrayList功能想必大家都有所了解吧,本文使用js实现ArrayList功能并附实例代码,想学习的朋友可以看看
 
 

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> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选