public class java.util
ArrayList<E>


Mostrar todos Login
Java SE 6
  
Estende: AbstractCollection > AbstractList
Implementa: List, RandomAccess, Cloneable, Serializable
Estendido por: AttributeList, RoleList, RoleUnresolvedList
Detalhes
en
Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is used internally to store the list. (This class is roughly equivalent to Vector, except that it is unsynchronized.)

The size, isEmpty, get, set, iterator, and listIterator operations run in constant time. The add operation runs in amortized constant time, that is, adding n elements requires O(n) time. All of the other operations run in linear time (roughly speaking). The constant factor is low compared to that for the LinkedList implementation.

Each ArrayList instance has a capacity. The capacity is the size of the array used to store the elements in the list. It is always at least as large as the list size. As elements are added to an ArrayList, its capacity grows automatically. The details of the growth policy are not specified beyond the fact that adding an element has constant amortized time cost.

An application can increase the capacity of an ArrayList instance before adding a large number of elements using the ensureCapacity operation. This may reduce the amount of incremental reallocation.

Note that this implementation is not synchronized. If multiple threads access an ArrayList instance concurrently, and at least one of the threads modifies the list structurally, it must be synchronized externally. (A structural modification is any operation that adds or deletes one or more elements, or explicitly resizes the backing array; merely setting the value of an element is not a structural modification.) This is typically accomplished by synchronizing on some object that naturally encapsulates the list. If no such object exists, the list should be "wrapped" using the Collections.synchronizedList method. This is best done at creation time, to prevent accidental unsynchronized access to the list:

   List list = Collections.synchronizedList(new ArrayList(...));

The iterators returned by this class's iterator and listIterator methods are fail-fast: if the list is structurally modified at any time after the iterator is created, in any way except through the iterator's own remove or add methods, the iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future.

Note that the fail-fast behavior of an iterator cannot be guaranteed as it is, generally speaking, impossible to make any hard guarantees in the presence of unsynchronized concurrent modification. Fail-fast iterators throw ConcurrentModificationException on a best-effort basis. Therefore, it would be wrong to write a program that depended on this exception for its correctness: the fail-fast behavior of iterators should be used only to detect bugs.

This class is a member of the Java Collections Framework.
version1.56, 04/21/06
since1.2
Veja também java.util.Collection, java.util.List, java.util.LinkedList, java.util.Vector


Construtores
public ArrayList(int initialCapacity) Detalhes
pt_br
Constrói uma lista vazia com uma capacidade inicial especificada.
initialCapacity
pt_br
a capacidade inicial da lista
ThrowsIllegalArgumentException:
pt_br
Se a capacidade inicial for negativa
public ArrayList()
pt_br
Constrói uma lista inicial com capacidade dez.
public ArrayList(Collection c) Detalhes
pt_br
Constrói uma lista contendo os elementos da coleção especificada, na ordem em que eles forem retornados pelo iterador da coleção.
c
pt_br
a coleção cujo os elementos serão colocados na lista
ThrowsNullPointerException:
pt_br
se a coleção especificada for null

Métodos
public boolean add(Object e) Detalhes
pt_br
Adiciona o elemento especificado no fim dessa lista.
e
pt_br
elemento a ser anexado na lista
return
en
true (as specified by Collection#add)
public void add(int index, Object element) Detalhes
pt_br
Insere o elemento especificado na posição especificada da lista. Desloca o elemento corrente daquela posição (se tiver) e os elementos subsequentes para direita (adiciona um aos seus índices).
index
pt_br
índice no qual o elemento especificado deve ser inserido
element
pt_br
elemento a ser inserido
ThrowsIndexOutOfBoundsException:
en
pt
se o índice está fora dos limites (índice < 0 || índice > size())
public boolean addAll(Collection c) Detalhes
pt_br
Adiciona todos os elementos da coleção especificada no final dessa lista, na ordem que o Iterator da coleção especificada retornar. O comportamento dessa operação é indefinido se a coleção especificada é modificada enquanto a operação está executando. (Isso implica que o comportamento dessa chamada é indefinido se a coleção especificada é essa lista, e essa lista não estiver vazia.)
c
pt_br
coleção contendo os elementos a serem adicionados à lista
return
pt_br
true se a lista foi modificada em função da chamada a esta operação
ThrowsNullPointerException:
pt_br
se a coleção especificada for null
public boolean addAll(int index, Collection c) Detalhes
pt_br
Insere na lista todos os elementos da coleção especificada, começando na posição especificada. Desloca o elemento atualmente naquela posição (se houver algum) e todos os elementos subseqüentes para a direita (incrementa seus índices). Os novos elementos aparecerão na lista na ordem em que eles forem retornados pelo iterador da coleção especificada.
index
pt_br
índice no qual deve-se inserir o primeiro elemento da coleção especificada
c
pt_br
coleção contendo os elementos a serem adicionados à lista
return
pt_br
true se a lista foi modificada em função da chamada a esta operação
ThrowsIndexOutOfBoundsException:
en
pt
se o índice está fora dos limites (índice < 0 || índice > size())
ThrowsNullPointerException:
pt_br
se a coleção especificada for null
public void clear()
pt_br
Remove todos os elementos dessa lista. A lista se tornará vazia depois dessa chamada retornar.
public Object clone() Detalhes
pt_br
Retorna uma cópia rasa dessa instância de ArrayList. (Os elementos não são copiados.)
return
pt_br
um clone dessa instância de ArrayList
public boolean contains(Object o) Detalhes
pt_br
Retorna true se a lista contém o elemento especificado. Mais formalmente, retorna true se e somente se a lista contém pelo menos um elemento e tal que (o==null ? e==null : o.equals(e)).
o
pt_br
elemento cuja presença na lista está sendo avaliada
return
pt_br
true se a lista contém o elemento especificado
public void ensureCapacity(int minCapacity) Detalhes
pt_br
Aumenta a capacidade dessa instância de ArrayList, se necessário, para assegurar que ela pode suportar no mínimo o número de elementos especificados pelo argumento capacidade mínima.
minCapacity
pt_br
a capacidade mínima desejada
public Object get(int index) Detalhes
pt_br
Retorna o elemento da lista que está na posição especificada.
index
pt_br
índice do elemento a ser retornado
return
pt_br
o elemento que está na lista, na posição especificada
ThrowsIndexOutOfBoundsException:
en
pt
se o índice está fora dos limites (índice < 0 || índice >= size())
public int indexOf(Object o)
pt_br
Retorna o índice da primeira ocorrência do elemento especificado na lista, ou -1 se a lista não contém o elemento. Mais formalmente, retorna o menor índice i tal que (o==null ? get(i)==null : o.equals(get(i))), ou -1 se não houver tal índice.
public int lastIndexOf(Object o)
pt_br
Retorna o índice da última ocorrência do elemento especificado na lista, ou -1 se a lista não contém o elemento. Mais formalmente, retorna o maior índice i tal que (o==null ? get(i)==null : o.equals(get(i))), ou -1 se não houver tal índice.
public Object remove(int index) Detalhes
pt_br
Remove o elemento da posição especificada nessa lista. Desloca qualquer elemento subsequente para esquerda (subtrai um dos seus índices).
index
pt_br
o índice do elemento a ser removido
return
pt_br
o elemento que foi removido da lista
ThrowsIndexOutOfBoundsException:
en
pt
se o índice está fora dos limites (índice < 0 || índice >= size())
public boolean remove(Object o) Detalhes
pt_br
Removes the first occurrence of the specified element from this list, if it is present. If the list does not contain the element, it is unchanged. More formally, removes the element with the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))) (if such an element exists). Returns true if this list contained the specified element (or equivalently, if this list changed as a result of the call).
o
pt_br
elemento a ser removido da lista, se presente
return
pt_br
true se a lista possuía o elemento especificado
protected void removeRange(int fromIndex, int toIndex) Detalhes
pt_br
Remove dessa lista todos os elementos na qual o índice está entre fromIndex, inclusive, e toIndex, exclusivo. Desloca qualquer elemento seguido para a esquerda (reduz seus índices). Essa chamada encurta a lista pelo (toIndex - fromIndex) elementos. (Se toIndex==fromIndex, essa operação não tem efeito.)
fromIndex
pt_br
índice do primero elemento a ser removido
toIndex
pt_br
índice posterior ao último elemento a ser removido
ThrowsIndexOutOfBoundsException:
pt_br
se fromIndex ou toIndex estiver fora do limite (fromIndex < 0 || fromIndex >= size() || toIndex > size() || toIndex < fromIndex)
public Object set(int index, Object element) Detalhes
pt_br
Substitui o elemento da posição especificada nessa lista com o elemento especificado.
index
pt_br
índice do elemento a ser substituído
element
pt_br
elemento a ser armazenado na posição especificada
return
pt_br
o elemento que estava na posição especificada
ThrowsIndexOutOfBoundsException:
en
pt
se o índice está fora dos limites (índice < 0 || índice >= size())
public int size() Detalhes
pt_br
Retorna o número de elementos nesta lista.
return
pt_br
o número de elementos na lista
public Object[] toArray() Detalhes
pt_br
Retorna um vetor contendo todos os elementos da lista na ordem apropriada (do primeiro ao último elemento).

O vetor retornado será "seguro" no sentido de que nenhuma referência a ele será mantida por esta lista. (Em outras palavras, este método alocará um novo vetor). O chamador deste método, conseqüentemente, está livre para modificar o vetor retornado.

Este método age como ponte entre as APIs baseadas em array e as baseadas em coleção.
return
pt_br
um array contendo todos os elementos nessa lista na sequência apropriada

public Object[]<T> toArray(Object[] a) Detalhes
pt_br
Retorna um array contendo todos os elementos nessa lista na sequência apropriada (do primeiro ao último elemento); o tipo em execução do array retornado é do tipo do array especificado. Se a lista couber no array especificado, é retornado isso. Senão, um novo array é alocado com o tipo em execução do array especificado e do tamanho da lista.

Se a lista couber no array especificado e tiver espaços sobressalente (i.e., o array tem mais elementos que a lista), o elemento no array imediatamente depois do fim da coleção será setado com o valor null. (Isso é útil para determinar o tamanho da lista apenas se o invocador saber que a lista não contém elementos nulos.)
a
pt_br
o vetor no qual os elementos da lista serão armazenados, se for grande o sufuciente; caso contrário, um novo vetor do mesmo tipo em tempo de execução é alocada para este propósito.
return
pt_br
um vetor contendo os elementos da lista
ThrowsArrayStoreException:
pt_br
se o tipo em tempo de execução do array especificado não é um supertipo do tipo em tempo de execução de todos os elementos da lista.
ThrowsNullPointerException:
pt_br
se o array especificado é null

public void trimToSize()
pt_br
Reduz a capacidade dessa intância de ArrayList para ficar do tamanho da lista corrente. Uma aplicação pode usar essa operação para minimizar o armazenamento de uma instância de ArrayList.

Propriedades
public boolean isEmpty() Detalhes
pt_br
Retorna true se a lista não contém elementos.
return
pt_br
true se a lista não contém elementos