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.
importjava.util.LinkedList;publicclassLinkedListExample{publicstaticvoidmain(String[] args){LinkedList<String> list =newLinkedList<>();// Adding elements
list.add("Apple");
list.add("Banana");
list.add("Cherry");// Accessing elementsSystem.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);}}Tecnologia
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.
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
importjava.util.LinkedList;importjava.util.Queue;publicclassLinkedListAsQueue{publicstaticvoidmain(String[] args){Queue<String> queue =newLinkedList<>();// Enqueue elements
queue.add("First");
queue.add("Second");
queue.add("Third");// Dequeue elementsSystem.out.println("Removed: "+ queue.poll());System.out.println("Queue after removal: "+ queue);}}Tecnologia
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().
A classe
LinkedListem Java faz parte da estrutura de coleções Java e implementa as interfacesListeDeque. É uma lista duplamente vinculada que fornece uma estrutura de dados dinâmica para armazenar elementos. Ao contrário das matrizes, o siteLinkedListpermite 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
Type: O tipo de elementos armazenados na lista.linkedList: O nome da instânciaLinkedList.Exemplos
Exemplo 1: Operações básicas
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
Neste exemplo, usamos um
Iteratorpara percorrer oLinkedListde números inteiros. O siteIteratoroferece uma maneira de acessar cada elemento sequencialmente.Exemplo 3: Usando LinkedList como uma fila
Aqui,
LinkedListé usado comoQueue. Os elementos são adicionados usandoadd()e removidos usandopoll(), demonstrando o comportamento FIFO (First-In-First-Out).Dicas e práticas recomendadas
LinkedListquando você precisar de inserções e exclusões frequentes, especialmente no início ou no final da lista.LinkedListtem uma sobrecarga maior em comparação comArrayListpara acessar elementos por índice devido à sua natureza de acesso sequencial.LinkedListpermite elementosnull, portanto, lide com possíveis cenáriosNullPointerException.LinkedListnão está sincronizado. UseCollections.synchronizedList(new LinkedList<>())para operações thread-safe.LinkedListcomo umDequepara operações de fila dupla, comoaddFirst(),addLast(),removeFirst()eremoveLast().