Pular para o conteúdo principal
Documentos
Palavras-chave JavaMatrizes JavaProgramação orientada a objetos em JavaManuseio de arquivos JavaIntrodução ao JavaNoções básicas da linguagem Java

Java LinkedList

A classe LinkedList em Java faz parte da estrutura de coleções Java e implementa as interfaces List e Deque. É uma lista duplamente vinculada que fornece uma estrutura de dados dinâmica para armazenar elementos. Ao contrário das matrizes, o site LinkedList permite a inserção e a remoção eficientes de elementos em ambas as extremidades e no meio da lista.

Uso

LinkedList é usado quando são necessárias inserções e exclusões frequentes. É particularmente útil quando o tamanho da lista não é conhecido antecipadamente ou quando os elementos precisam ser adicionados ou removidos em ambas as extremidades da lista.

Sintaxe


LinkedList<Type> linkedList = new LinkedList<>();
  • Type: O tipo de elementos armazenados na lista.
  • linkedList: O nome da instância LinkedList.

Exemplos

Exemplo 1: Operações básicas


import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        
        // Adding elements
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");
        
        // Accessing elements
        System.out.println("First element: " + list.getFirst());
        System.out.println("Last element: " + list.getLast());
        
        // Removing elements
        list.removeFirst();
        list.removeLast();
        
        System.out.println("List after removals: " + list);
    }
}

Este exemplo demonstra operações básicas, como adicionar, acessar e remover elementos de um site LinkedList. Adicionamos três frutas à lista, acessamos o primeiro e o último elementos e, em seguida, os removemos.

Exemplo 2: Iteração em uma LinkedList


import java.util.LinkedList;
import java.util.Iterator;

public class LinkedListIteration {
    public static void main(String[] args) {
        LinkedList<Integer> numbers = new LinkedList<>();
        numbers.add(10);
        numbers.add(20);
        numbers.add(30);
        
        Iterator<Integer> iterator = numbers.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}

Neste exemplo, usamos um Iterator para percorrer o LinkedList de números inteiros. O site Iterator oferece uma maneira de acessar cada elemento sequencialmente.

Exemplo 3: Usando LinkedList como uma fila


import java.util.LinkedList;
import java.util.Queue;

public class LinkedListAsQueue {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();
        
        // Enqueue elements
        queue.add("First");
        queue.add("Second");
        queue.add("Third");
        
        // Dequeue elements
        System.out.println("Removed: " + queue.poll());
        System.out.println("Queue after removal: " + queue);
    }
}

Aqui, LinkedList é usado como Queue. Os elementos são adicionados usando add() e removidos usando poll(), demonstrando o comportamento FIFO (First-In-First-Out).

Dicas e práticas recomendadas

  • Quando usar: Use LinkedList quando você precisar de inserções e exclusões frequentes, especialmente no início ou no final da lista.
  • Considerações sobre desempenho: LinkedList tem uma sobrecarga maior em comparação com ArrayList para acessar elementos por índice devido à sua natureza de acesso sequencial.
  • Elementos nulos: LinkedList permite elementos null, portanto, lide com possíveis cenários NullPointerException.
  • Thread Safety: LinkedList não está sincronizado. Use Collections.synchronizedList(new LinkedList<>()) para operações thread-safe.
  • Operações de Deque: Utilize o site LinkedList como um Deque para operações de fila dupla, como addFirst(), addLast(), removeFirst() e removeLast().

Learn Java Essentials

Desenvolva suas habilidades em Java desde o início e domine os conceitos de programação.
Comece a aprender de graça