Please note that this translation of the specification is the result of a java.net community project ( https://jdk5-api-pt-br.dev.java.net/ ). The official version of the specification is the US English language version which can be found at http://java.sun.com/j2se/1.5.0/docs/api/. In case of disputes, the authoritative version of the specification is the original, English document.
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
java.util.LinkedList<E>
E - o tipo dos elementos mantidos nesta coleçãopublic class LinkedList<E>
Implementação de lista encadeada da interface List. Implementa todas as operações List opcionais, e permite todos os elementos (inclusive null). Além de implementar a interface List, a classe LinkedList provê métodos uniformemente nomeados para get, remove e insert um elemento no início e no final de uma lista. Essas operações permitem que as listas encadeadas sejam utilizadas como pilha, fila, ou fila duplamente encadadeada (deque).
A classe implementa a interface Queue, provendo operações de fila first-in-first-out (primeiro-a-entrar-primeiro-a-sair) para add, poll, etc. Outras operações de pilha e de deque podem ser facilmente reconvertidas em termos da lista padrão de operações. Elas foram incluídas aqui, basicamente, por conveniência, embora possam rodar um pouco mais rápidas do que as operações List equivalentes.
Todas as operações apresentam o desempenho esperado para uma lista duplamente encadeada. Operações que indexam na lista percorrerão a mesma partindo do início ou do fim, o que estiver mais próximo do índice especificado.
Note que esta implementação não é sincronizada. Se múltiplos segmentos de execução (threads) acessam uma lista simultaneamente, e pelo menos um dos segmentos modifica estruturalmente a lista, ela deve ser sincronizada externamente. (Uma modificação estrutural é qualquer operação que adiciona ou remove um ou mais elementos; apenas alterar o valor de um elemento não é uma modificação estrutural). Tipicamente isto é realizado sincronizando em algum objeto que encapsule a lista naturalmente. Se tal objeto não existir, o método Collections.synchronizedList deve ser usado para empacotar a lista. Isto é melhor feito em tempo de criação, para prever um acidental acesso assíncrono à lista:
List list = Collections.synchronizedList(new LinkedList(...));
Os iteradores retornados pelos métodos iterator e listIterator desta classe são fail-fast: se a lista for modificada estruturalmente depois da criação do iterador, que não seja pelos próprios métodos remove ou add do Iterator, o iterador lançará uma ConcurrentModificationException. Conseqüentemente, diante de uma modificação concorrente, o iterador falha rapidamente e de forma limpa, em vez de arriscar um comportamento arbitrário e não determinístico em um tempo indeterminado no futuro.
Note que o comportamento fail-fast de um iterador não pode ser garantido por ser, de uma forma geral, impossível fazer qualquer garantia mais rigorosa na presença de modificação concorrente assíncrona. Iteradores fail-fast lançam ConcurrentModificationException na base do melhor esforço. Portanto, seria errado escrever um programa que dependa desta exceção para sua correção: o comportamento fail-fast de iteradores deve ser usado apenas para detecção de erros.
Esta classe é membro do Java Collections Framework.
List,
ArrayList,
Vector,
Collections.synchronizedList(List),
Serialized Form| Field Summary |
|---|
| Fields inherited from class java.util.AbstractList |
|---|
modCount |
| Constructor Summary | |
|---|---|
LinkedList()
Constrói uma lista vazia. |
|
LinkedList(Collection<? extends E> c)
Constrói uma lista contendo os elementos da coleção especificada, na ordem em que eles forem retornados pelo iterador da coleção. |
|
| Method Summary | ||
|---|---|---|
boolean |
add(E o)
Acrescenta o elemento especificado ao final da lista. |
|
void |
add(int index,
E element)
Insere o elemento especificado na posição especificada na lista. |
|
boolean |
addAll(Collection<? extends E> c)
Acrescenta todos os elementos contidos na coleção especificada ao final da lista, na ordem em que eles forem retornados pelo iterador da coleção. |
|
boolean |
addAll(int index,
Collection<? extends E> c)
Insere na lista todos os elementos da coleção especificada, começando na posição especificada. |
|
void |
addFirst(E o)
Insere o elemento dado no início da lista. |
|
void |
addLast(E o)
Acrescenta o elemento dado ao final da lista. |
|
void |
clear()
Remove todos os elementos da lista. |
|
Object |
clone()
Retorna uma cópia rasa desta LinkedList. |
|
boolean |
contains(Object o)
Retorna true se a lista contém o elemento especificado. |
|
E |
element()
Recupera, mas não remove, a cabeça (primeiro elemento) da lista. |
|
E |
get(int index)
Retorna o elemento na posição especificada da lista. |
|
E |
getFirst()
Retorna o primeiro elemento da lista. |
|
E |
getLast()
Retorna o último elemento da lista. |
|
int |
indexOf(Object o)
Retorna o índice da lista da primeira ocorrência do elemento especificado, ou -1 se a lista não contém esse elemento. |
|
int |
lastIndexOf(Object o)
Retorna o índice da lista da última ocorrência do elemento especificado, ou -1 se a lista não contém esse elemento. |
|
ListIterator<E> |
listIterator(int index)
Retorna um iterador tipo List dos elementos contidos na lista (na seqüência apropriada), começando na posição especificada da lista. |
|
boolean |
offer(E o)
Adiciona o elemento especificado como o rabo (último elemento) da lista. |
|
E |
peek()
Recupera, mas não remove, a cabeça (primeiro elemento) da lista. |
|
E |
poll()
Recupera e remove a cabeça (primeiro elemento) da lista. |
|
E |
remove()
Recupera e remove a cabeça (primeiro elemento) da lista. |
|
E |
remove(int index)
Remove da lista o elemento na posição especificada. |
|
boolean |
remove(Object o)
Remove da lista a primeira ocorrência do elemento especificado. |
|
E |
removeFirst()
Remove e retorna o primeiro elemento da lista. |
|
E |
removeLast()
Remove e retorna o último elemento da lista. |
|
E |
set(int index,
E element)
Substitui o elemento na posição especificada da lista pelo elemento especificado. |
|
int |
size()
Retorna o número de elementos da lista. |
|
Object[] |
toArray()
Retorna um vetor contendo todos os elementos da lista na ordem apropriada. |
|
|
toArray(T[] a)
Retorna um vetor contendo todos os elementos da lista na ordem apropriada; o tipo em tempo de execução do vetor retornado é o mesmo do vetor especificado. |
|
| Methods inherited from class java.util.AbstractSequentialList |
|---|
iterator |
| Methods inherited from class java.util.AbstractList |
|---|
equals, hashCode, listIterator, removeRange, subList |
| Methods inherited from class java.util.AbstractCollection |
|---|
containsAll, isEmpty, removeAll, retainAll, toString |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.List |
|---|
containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, retainAll, subList |
| Constructor Detail |
|---|
public LinkedList()
public LinkedList(Collection<? extends E> c)
c - a coleção cujo os elementos serão colocados na lista.
NullPointerException - se a coleção especificada for nula.| Method Detail |
|---|
public E getFirst()
NoSuchElementException - se esta lista estiver vazia.public E getLast()
NoSuchElementException - se a lista estiver vazia.public E removeFirst()
NoSuchElementException - se a lista estiver vazia.public E removeLast()
NoSuchElementException - se a lista estiver vazia.public void addFirst(E o)
o - o elemento a ser inserido no início da lista.public void addLast(E o)
o - o elemento a ser inserido ao final da lista.public boolean contains(Object o)
contains in interface Collection<E>contains in interface List<E>contains in class AbstractCollection<E>o - elemento cuja presença na lista deve ser testada.
public int size()
size in interface Collection<E>size in interface List<E>size in class AbstractCollection<E>public boolean add(E o)
add in interface Collection<E>add in interface List<E>add in class AbstractList<E>o - elemento a ser acrescentado à lista.
public boolean remove(Object o)
remove in interface Collection<E>remove in interface List<E>remove in class AbstractCollection<E>o - elemento a ser removido da lista, se presente.
public boolean addAll(Collection<? extends E> c)
addAll in interface Collection<E>addAll in interface List<E>addAll in class AbstractCollection<E>c - os elementos a serem inseridos na lista.
NullPointerException - se a coleção especificada for nula.AbstractCollection.add(Object)
public boolean addAll(int index,
Collection<? extends E> c)
addAll in interface List<E>addAll in class AbstractSequentialList<E>index - índice onde deve ser inserido o primeiro elemento
da coleção especificada.c - elementos a serem inseridos na lista.
IndexOutOfBoundsException - se o índice especificado estiver
fora dos limites (index < 0 || index > size()).
NullPointerException - se a coleção especificada for nula.public void clear()
clear in interface Collection<E>clear in interface List<E>clear in class AbstractList<E>public E get(int index)
get in interface List<E>get in class AbstractSequentialList<E>index - índice do elemento a ser retornado.
IndexOutOfBoundsException - se o índice especificado estiver
fora dos limites (index < 0 || index >= size()).
public E set(int index,
E element)
set in interface List<E>set in class AbstractSequentialList<E>index - índice do elemento a ser substituído.element - elemento a ser armazenado na posição especificada.
IndexOutOfBoundsException - se o índice especificado estiver
fora dos limites (index < 0 || index >= size()).
public void add(int index,
E element)
add in interface List<E>add in class AbstractSequentialList<E>index - índice onde o elemento especificado deve ser inserido.element - elemento a ser inserido.
IndexOutOfBoundsException - se o índice especificado estiver
fora dos limites (index < 0 || index > size()).public E remove(int index)
remove in interface List<E>remove in class AbstractSequentialList<E>index - o índice do elemento a ser removido.
IndexOutOfBoundsException - se o índice especificado estiver fora
dos limites (index < 0 || index >= size()).public int indexOf(Object o)
indexOf in interface List<E>indexOf in class AbstractList<E>o - elemento a ser buscado.
public int lastIndexOf(Object o)
lastIndexOf in interface List<E>lastIndexOf in class AbstractList<E>o - elemento a ser buscado.
public E peek()
peek in interface Queue<E>public E element()
element in interface Queue<E>NoSuchElementException - se a fila estiver vazia.public E poll()
poll in interface Queue<E>public E remove()
remove in interface Queue<E>NoSuchElementException - se a fila estiver vazia.public boolean offer(E o)
offer in interface Queue<E>o - o elemento a ser adicionado.
public ListIterator<E> listIterator(int index)
O iterador tipo List é fail-fast: se a lista for modificada estruturalmente depois da criação do iterador, que não seja pelos próprios métodos remove ou add do Iterator, o iterador lançará uma ConcurrentModificationException. Conseqüentemente, diante de uma modificação concorrente, o iterador falha rapidamente e de forma limpa, em vez de arriscar um comportamento arbitrário e não determinístico em um tempo indeterminado no futuro.
listIterator in interface List<E>listIterator in class AbstractSequentialList<E>index - índice do primeiro elemento a ser retornado do
iterador list (por uma chamada a next).
IndexOutOfBoundsException - if index is out of range
(index < 0 || index > size()).List.listIterator(int)public Object clone()
clone in class ObjectCloneablepublic Object[] toArray()
toArray in interface Collection<E>toArray in interface List<E>toArray in class AbstractCollection<E>Arrays.asList(Object[])public <T> T[] toArray(T[] a)
Se a lista couber no vetor especificado com espaço de sobra (isto é, o vetor tem mais elementos do que a lista), o elemento no vetor imediatamente seguinte ao final da coleção é alterado para nulo. Isto é útil para determinar o tamanho da lista somente se o chamador souber que a lista não contém elementos nulos.
toArray in interface Collection<E>toArray in interface List<E>toArray in class AbstractCollection<E>a - 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.
ArrayStoreException - se o tipo em tempo de execução de a não for um
supertipo do tipo em tempo de execução de cada elemento da lista.
NullPointerException - se o vetor especificado for nulo.
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
Copyright 2006 Sun Microsystems, Inc. Todos os direitos reservados. O uso está sujeito aos termos da licensa.