Java - a classe LinkedList
A classe LinkedList estende AbstractSequentialList e implementa a interface List. Ele fornece uma estrutura de dados de lista vinculada.
A seguir estão os construtores suportados pela classe LinkedList.
Sr. Não. | Construtor e descrição |
---|---|
1 | LinkedList( ) Este construtor cria uma lista vinculada vazia. |
2 | LinkedList(Collection c) Este construtor cria uma lista ligada que é inicializada com os elementos da coleção c. |
Além dos métodos herdados de suas classes pai, LinkedList define os seguintes métodos -
Sr. Não. | Método e Descrição |
---|---|
1 | void add(int index, Object element) Insere o elemento especificado no índice de posição especificado nesta lista. Lança IndexOutOfBoundsException se o índice especificado estiver fora do intervalo (índice <0 || índice> tamanho ()). |
2 | boolean add(Object o) Acrescenta o elemento especificado ao final desta lista. |
3 | boolean addAll(Collection c) Anexa todos os elementos da coleção especificada ao final desta lista, na ordem em que são retornados pelo iterador da coleção especificada. Lança NullPointerException se a coleção especificada for nula. |
4 | boolean addAll(int index, Collection c) Insere todos os elementos da coleção especificada nesta lista, começando na posição especificada. Lança NullPointerException se a coleção especificada for nula. |
5 | void addFirst(Object o) Insere o elemento fornecido no início desta lista. |
6 | void addLast(Object o) Acrescenta o elemento fornecido ao final desta lista. |
7 | void clear() Remove todos os elementos desta lista. |
8 | Object clone() Retorna uma cópia superficial deste LinkedList. |
9 | boolean contains(Object o) Retorna verdadeiro se esta lista contém o elemento especificado. Mais formalmente, retorna true se e somente se esta lista contém pelo menos um elemento e tal que (o == null? E == null: o.equals (e)). |
10 | Object get(int index) Retorna o elemento na posição especificada nesta lista. Lança IndexOutOfBoundsException se o índice especificado estiver fora do intervalo (índice <0 || índice> = tamanho ()). |
11 | Object getFirst() Retorna o primeiro elemento da lista. Lança NoSuchElementException se esta lista estiver vazia. |
12 | Object getLast() Retorna o último elemento da lista. Lança NoSuchElementException se esta lista estiver vazia. |
13 | int indexOf(Object o) Retorna o índice nesta lista da primeira ocorrência do elemento especificado ou -1 se a lista não contiver este elemento. |
14 | int lastIndexOf(Object o) Retorna o índice nesta lista da última ocorrência do elemento especificado ou -1 se a lista não contiver este elemento. |
15 | ListIterator listIterator(int index) Retorna um iterador de lista dos elementos nesta lista (na sequência adequada), começando na posição especificada na lista. Lança IndexOutOfBoundsException se o índice especificado estiver fora do intervalo (índice <0 || índice> = tamanho ()). |
16 | Object remove(int index) Remove o elemento na posição especificada nesta lista. Lança NoSuchElementException se esta lista estiver vazia. |
17 | boolean remove(Object o) Remove a primeira ocorrência do elemento especificado nesta lista. Lança NoSuchElementException se esta lista estiver vazia. Lança IndexOutOfBoundsException se o índice especificado estiver fora do intervalo (índice <0 || índice> = tamanho ()). |
18 | Object removeFirst() Remove e retorna o primeiro elemento desta lista. Lança NoSuchElementException se esta lista estiver vazia. |
19 | Object removeLast() Remove e retorna o último elemento da lista. Lança NoSuchElementException se esta lista estiver vazia. |
20 | Object set(int index, Object element) Substitui o elemento na posição especificada nesta lista pelo elemento especificado. Lança IndexOutOfBoundsException se o índice especificado estiver fora do intervalo (índice <0 || índice> = tamanho ()). |
21 | int size() Retorna o número de elementos nesta lista. |
22 | Object[] toArray() Retorna uma matriz contendo todos os elementos da lista na ordem correta. Lança NullPointerException se a matriz especificada for nula. |
23 | Object[] toArray(Object[] a) Retorna um array contendo todos os elementos da lista na ordem correta; o tipo de tempo de execução do array retornado é o do array especificado. |
Exemplo
O programa a seguir ilustra vários dos métodos suportados por LinkedList -
import java.util.*;
public class LinkedListDemo {
public static void main(String args[]) {
// create a linked list
LinkedList ll = new LinkedList();
// add elements to the linked list
ll.add("F");
ll.add("B");
ll.add("D");
ll.add("E");
ll.add("C");
ll.addLast("Z");
ll.addFirst("A");
ll.add(1, "A2");
System.out.println("Original contents of ll: " + ll);
// remove elements from the linked list
ll.remove("F");
ll.remove(2);
System.out.println("Contents of ll after deletion: " + ll);
// remove first and last elements
ll.removeFirst();
ll.removeLast();
System.out.println("ll after deleting first and last: " + ll);
// get and set a value
Object val = ll.get(2);
ll.set(2, (String) val + " Changed");
System.out.println("ll after change: " + ll);
}
}
Isso produzirá o seguinte resultado -
Resultado
Original contents of ll: [A, A2, F, B, D, E, C, Z]
Contents of ll after deletion: [A, A2, D, E, C, Z]
ll after deleting first and last: [A2, D, E, C]
ll after change: [A2, D, E Changed, C]