Article image
Thiago Silva
Thiago Silva29/08/2023 17:15
Compartilhe

Introdução às Listas em Java e Suas Implementações

  • #Java

Em programação, lidar com coleções de elementos é uma tarefa comum. As listas são uma das estruturas de dados mais essenciais para armazenar e manipular conjuntos de itens. Em Java, a interface List fornece uma estrutura para representar listas ordenadas de elementos. Neste artigo, exploraremos a interface List, suas implementações mais comuns e como utilizá-las em diferentes cenários.

A Interface List em Java

A interface List é parte do framework de coleções em Java e é implementada por várias classes que oferecem funcionalidades de lista. Algumas das implementações mais conhecidas incluem ArrayList, LinkedList e Vector. Aqui, discutiremos cada uma delas em detalhes.

ArrayList

ArrayList é uma das implementações mais utilizadas da interface List. Ela é baseada em um array dinâmico, o que significa que pode crescer automaticamente à medida que novos elementos são adicionados. Isso torna a busca de elementos rápida, mas também permite inserções e remoções eficientes, embora inserções no meio da lista possam ser relativamente lentas devido à necessidade de realocação de elementos.

Exemplo de Uso do ArrayList

import java.util.ArrayList;
import java.util.List;


public class ArrayListExample {
  public static void main(String[] args) {
      List<String> names = new ArrayList<>();


      names.add("Alice");
      names.add("Bob");
      names.add("Charlie");


      System.out.println(names); // Output: [Alice, Bob, Charlie]
  }
}

LinkedList

LinkedList é outra implementação da interface List. Diferentemente do ArrayList, ela não é baseada em arrays, mas sim em nós encadeados, o que a torna mais eficiente para inserções e remoções em qualquer posição da lista. No entanto, a busca pode ser mais lenta, já que pode ser necessário percorrer os nós sequencialmente.

Exemplo de Uso do LinkedList

import java.util.LinkedList;
import java.util.List;


public class LinkedListExample {
  public static void main(String[] args) {
      List<Integer> numbers = new LinkedList<>();


      numbers.add(10);
      numbers.add(20);
      numbers.add(30);


      System.out.println(numbers); // Output: [10, 20, 30]
  }
}

Vector

Vector é uma implementação sincronizada da interface List, o que significa que é thread-safe. No entanto, essa sincronização pode resultar em um desempenho mais baixo em comparação com as outras implementações quando usado em ambientes não concorrentes.

Exemplo de Uso do Vector

import java.util.Vector;
import java.util.List;


public class VectorExample {
  public static void main(String[] args) {
      List<String> fruits = new Vector<>();


      fruits.add("Apple");
      fruits.add("Banana");
      fruits.add("Orange");


      System.out.println(fruits); // Output: [Apple, Banana, Orange]
  }
}

Conclusão

A interface List e suas implementações (ArrayList, LinkedList e Vector) fornecem maneiras versáteis de armazenar e manipular coleções de elementos em Java. Cada implementação tem suas próprias características e trade-offs de desempenho. A escolha da implementação depende das necessidades específicas do seu projeto, como requisitos de desempenho, acesso, inserção e remoção de elementos. Com as informações deste artigo, você está pronto para começar a utilizar listas em Java de forma eficaz em seus programas.

Compartilhe
Comentários (1)
Wesley Vieira
Wesley Vieira - 29/08/2023 19:01

Muito bom Thiago Silva!