Java é uma poderosa linguagem de programação orientada a objetos que oferece uma ampla gama de estruturas de dados para armazenar e manipular dados. Uma das estruturas de dados mais comuns usadas em Java é a Lista. Uma lista é uma colecção ordenada de elementos que podem ser de qualquer tipo, desde tipos primitivos a objectos personalizados. Neste artigo, discutiremos os conceitos básicos de Listas em Java, incluindo como declará-las, preenchê-las e manipulá-las.
Declaração de listas em Java
Para declarar uma lista em Java, é necessário importar o pacote java.util, que contém a interface List. Existem três tipos de implementações de List em Java:
1. ArrayList: Um ArrayList é um array dinâmico que pode crescer ou diminuir de tamanho. Ele é implementado como um array de objetos e fornece acesso em tempo constante aos seus elementos.
2. LinkedList: Uma LinkedList é uma lista duplamente ligada que consiste em nós, cada um contendo uma referência para os elementos seguinte e anterior. Permite a inserção e eliminação em tempo constante de elementos em qualquer posição da lista.
3. Vector: Um vector é semelhante a uma ArrayList, mas é sincronizado, o que significa que várias threads podem aceder-lhe simultaneamente sem qualquer problema.
List myList = new ArrayList(); // ArrayList
List myList = new LinkedList(); // LinkedList
List myList = new Vector(); // Vector
Povoamento de Listas em Java
Depois de declarar uma List em Java, você pode povoá-la com elementos. Há várias maneiras de povoar uma List em Java:
myList.add(“element1”);
myList.add(“element2”);
myList.add(“element3”);
2. Usando o método addAll(): O método addAll() é utilizado para adicionar uma colecção de elementos a uma List. É possível adicionar uma coleção de elementos a uma Lista usando a seguinte sintaxe:
List myCollection = new ArrayList();
myCollection.add(“element4”);
myCollection.add(“element5”);
myCollection.add(“element6”);
myList.addAll(myCollection);
String[] myArray = {“element7”, “element8”, “element9”};
List myList = new ArrayList(Arrays.asList(myArray));
Diferenças entre Listas em Java
Como mencionado anteriormente, existem três tipos de implementações de List em Java: ArrayList, LinkedList e Vector. Cada uma dessas implementações tem suas próprias vantagens e desvantagens.
1. ArrayList: Uma ArrayList é mais adequada para cenários em que é necessário ter acesso constante aos elementos e não é necessário inserir ou excluir elementos com frequência. Não é recomendado para cenários em que é necessário inserir ou eliminar elementos frequentemente, uma vez que pode ser lento.
2. LinkedList: Uma LinkedList é mais adequada para cenários em que é necessário inserir ou eliminar elementos com frequência. Não é recomendado para cenários em que é necessário aceder a elementos em tempo constante, uma vez que pode ser lento.
3. vector: Um vector é mais adequado para cenários em que é necessário aceder a elementos de várias threads em simultâneo. Não é recomendado para cenários em que não é necessário aceder a elementos de várias threads em simultâneo, uma vez que pode ser lento.
Adicionando uma lista dentro de uma lista em Java
Finalmente, vamos discutir como adicionar uma lista dentro de uma lista em Java. Você pode adicionar uma lista dentro de uma lista usando o método add(). Aqui está um exemplo:
List<List> myList = new ArrayList();
List innerList1 = new ArrayList();
List innerList2 = new ArrayList();
innerList1.add(“element1”);
innerList1.add(“element2”);
innerList2.add(“element3”);
innerList2.add(“element4”);
myList.add(innerList1);
myList.add(innerList2);
Em conclusão, as listas são uma estrutura de dados essencial em Java que permite armazenar e manipular dados de forma ordenada. Ao entender como declarar, preencher e manipular Listas em Java, você pode tornar seu código mais eficiente e legível.
Para classificar uma lista em Java, você pode usar o método `Collections.sort()`. Este método ordena a lista especificada em ordem crescente, de acordo com a ordenação natural de seus elementos. Alternativamente, é possível utilizar o método `Collections.sort()` com um comparador personalizado para ordenar a lista em uma ordem específica. Aqui está um exemplo de um trecho de código para ordenar uma lista de inteiros em ordem crescente:
“`
List numbers = new ArrayList(Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3));
Collections.sort(numbers);
System.out.println(numbers);
“`
Output:
“`
[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
“`