您的位置:首页 > 编程语言 > Java开发

java 集装箱 arraylist 用法

2015-09-13 09:57 381 查看
1. ArrayList概述:

ArrayList 是一个数组队列。相当于 动态数组。

与Java中的数组相比。它的容量能动态增长。它继承于AbstractList。实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。

ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的加入、删除、改动、遍历等功能。

ArrayList 实现了RandmoAccess接口,即提供了随机訪问功能。RandmoAccess是java中用来被List实现,为List提供高速訪问功能的。在ArrayList中,我们即能够通过元素的序号高速获取元素对象;这就是高速随机訪问。稍后,我们会比較List的“高速随机訪问”和“通过Iterator迭代器訪问”的效率。

ArrayList 实现了Cloneable接口,即覆盖了函数clone()。能被克隆。

ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。

和Vector不同,ArrayList中的操作不是线程安全的。

所以。建议在单线程中才使用ArrayList,而在多线程中能够选择Vector或者CopyOnWriteArrayList。





二 、构造函数

// 默认构造函数

ArrayList()

// capacity是ArrayList的默认容量大小。当因为添加数据导致容量不足时,容量会加入上一次容量大小的一半。

ArrayList(int capacity)

// 创建一个包括collection的ArrayList

ArrayList(Collection<? extends E> collection)

三、 API

/
Collection中定义的API

boolean add(E object)

boolean addAll(Collection<?

extends E> collection)

void clear()

boolean contains(Object object)

boolean containsAll(Collection<?

> collection)

boolean equals(Object object)

int hashCode()

boolean isEmpty()

Iterator<E> iterator()

boolean remove(Object object)

boolean removeAll(Collection<?

> collection)

boolean retainAll(Collection<?> collection)

int size()

<T> T[] toArray(T[] array)

Object[] toArray()

// AbstractCollection中定义的API

void add(int location, E object)

boolean addAll(int location, Collection<? extends E> collection)

E get(int location)

int indexOf(Object object)

int lastIndexOf(Object object)

ListIterator<E> listIterator(int location)

ListIterator<E> listIterator()

E remove(int location)

E set(int location, E object)

List<E> subList(int start, int end)

// ArrayList新增的API

Object clone()

void ensureCapacity(int minimumCapacity)

void trimToSize()

void removeRange(int fromIndex, int toIndex)

四、遍历方式

package com.gao;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ArraylistDemo {
public static void main(String args[]){
List<String> list = new ArrayList<String>();
list.add("Hello");
list.add("Hello Arraylist");

//方法1
Iterator it1 = list.iterator();
while(it1.hasNext()){
System.out.println(it1.next());
}

//方法2
for(Iterator it2 = list.iterator();it2.hasNext();){
System.out.println(it2.next());
}

//方法3
for(String tmp:list){
System.out.println(tmp);
}

//方法4
for(int i = 0;i < list.size(); i ++){
System.out.println(list.get(i));
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: