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]