LinkedList em Java
O tópico da discussão de hoje é Java Linkedlist com exemplos para atender aos requisitos educacionais. Java LinkedLists fazem parte da estrutura Collection no pacote java.util.
Há duas partes nessa classe, a parte dos dados e a parte do endereço. A parte de dados é armazenada em áreas contíguas e a parte de endereço é armazenada em objetos separados com os dados.
Pontos-chave Java LinkedList
- Existem três tipos de LinkedLists em Java: listas, pilhas e filas.
- A classe Java LinkedList mantém a ordem de inserção.
- A classe LinkedList em Java pode conter elementos duplicados.
- Como LinkedLists não requer deslocamento, a manipulação é rápida.
- LinkedLists em Java não são sincronizados.
Java LinkedList
A classe ArrayList foi discutida no capítulo anterior. Quase não há diferenças entre as classes LinkedList e ArrayList .
Aqui é fornecido um exemplo de LinkList :
Example:
Os exemplos dados mostram a Lista de Países:
Example:
LinkedList vs ArrayList
A classe Java LinkedList pode ser considerada como uma coleção de objetos semelhantes, assim como a classe ArrayList.
Ambos LinkedList e ArrayList implementam a interface List , então ambos têm os mesmos métodos.
Java LinkedList suporta adicionar, alterar, remover e limpar itens da mesma maneira.
As classes ArrayList e LinkedList têm a mesma funcionalidade, mas são criadas de forma distinta.
Trabalhando com um Arraylist
Uma matriz regular está contida na classe ArrayList.
Um novo elemento é adicionado ao array toda vez que é adicionado.
Para substituir uma matriz que não é suficiente para armazenar dados, uma nova matriz maior é criada e, como resultado, a matriz anterior é descartada.
Trabalhando com LinkedList
Os contêineres são usados pela Lista vinculada para armazenar seus itens.
Existe um link entre a Lista e o primeiro contêiner e cada contêiner tem um link para o próximo contêiner.
Adicionar um elemento à lista requer colocá-lo em um novo contêiner e vincular esse contêiner a outro contêiner.
Quando Usar Arraylist
ArrayLists são ideais quando:
- Você tem acesso frequente a itens aleatórios.
- Adicionar ou remover elementos só precisa ser feito no final
Quando usar LinkedList
Uma LinkedList é uma escolha apropriada quando:
- Em vez de acessar itens aleatórios, você pode percorrer a lista.
- Os componentes de uma lista são freqüentemente inseridos e removidos no início, meio e fim da lista.
Métodos LinkedList
O ArrayList é freqüentemente mais eficaz porque é comumente usado quando se trata de acessar elementos aleatórios da lista, porém o Java LinkedList fornece vários métodos para fazer algumas ações de forma mais produtiva:
Método | Visão geral | Tente |
---|---|---|
adicionarPrimeiro() | Um elemento é inserido no início da lista. | Executar |
addÚltimo() | Um elemento é inserido no final da lista vinculada. | Executar |
removeFirst() | O elemento no início da lista é eliminado. | Executar |
removeÚltimo() | O elemento é limpo da cauda da Lista Ligada. | Executar |
getFirst() | Retorna o primeiro elemento da Lista Ligada. | Executar |
Obtenha o último() | Pegue o item no final da lista. | Executar |
Benefícios do Java LinkedLists
Uso de memória aprimorado:
em comparação com arrays, as listas encadeadas são mais eficazes na alocação de memória.
Uma lista vinculada pode aumentar ou diminuir de tamanho enquanto o programa é executado porque, ao contrário dos arrays, seu tamanho não é fixo.
Tempo rápido de inserção e remoção:
Da mesma forma, como os itens são vinculados na forma de contêineres, é mais fácil remover ou adicionar os elementos sem percorrer toda a lista vinculada. Ao contrário, em um array temos que passar por todos os elementos do array enquanto executamos qualquer operação nele.