Java List: métodos e âmbitos de utilização mais importantes
Uma Java List é especialmente adequada para cenários em que o tamanho do conjunto de dados não é conhecido antecipadamente ou pode mudar com o tempo. Mostramos exemplos concretos do uso de listas e quais operações você pode realizar com elas.
Para que servem as listas Java?
As listas são uma das estruturas de dados básicas na programação Java e têm uma ampla gama de aplicações. Elas contêm elementos numa ordem específica que podem ser adicionados, modificados, apagados ou consultados. Os objetos de uma Java List podem pertencer a diferentes classes. Além disso, é possível armazenar elementos duplicados ou nulos. As listas Java suportam classes e métodos genéricos, o que garante a segurança dos tipos.
As listas são utilizadas em aplicações de bases de dados para armazenar e aceder a grandes registos de consultas a bases de dados. Nas interfaces gráficas de utilizador, as listas Java são frequentemente utilizadas para apresentar uma lista de elementos, por exemplo, as opções de um menu suspenso ou os diferentes artigos de uma loja online.
As listas Java também são indispensáveis em algoritmos e estruturas de dados. Elas são utilizadas na implementação de algoritmos de ordenação, algoritmos de pesquisa ou estruturas de pilhas e filas. Em aplicações de rede, as listas podem ajudar a facilitar a gestão de conexões e sockets.
Os métodos das listas Java
As listas Java pertencem à interface collections e devem ser importadas do pacote java.util. As classes de implementação incluem Java ArrayList, LinkedList, Vector e Stack. Pode declarar as diferentes instâncias da lista da seguinte forma:
List linkedList = new LinkedList(); // LinkedList
List arrayList = new ArrayList(); // ArrayList
List vecList = new Vector(); // Vector
List stackList = new Stack(); //StackJavaAqui estão alguns dos métodos mais importantes utilizados em relação às listas Java:
int size(): determina a quantidade de elementos numa lista.void add(int index, E element): adiciona um elemento numa posição específica.boolean isEmpty(): verifica se a lista está vazia.void clear(): elimina todos os elementos da lista.boolean contains(Object o): retorna o valortruese o objetooestiver na lista.boolean add(E e): adiciona o elemento especificado ao final da lista.boolean remove(Object o): elimina a primeira ocorrência de um elemento específico.E get(int index): retorna o elemento no índice indicado.E set(int index, E element): substitui ou insere um elemento no índice especificado.Object[] toArray(): retorna uma matriz com os elementos da lista.List<E> subList(int fromIndex, int toIndex): captura todos os elementos dentro do intervalo definido.default void replaceAll(UnaryOperator<E> operator): método padrão em Java 8 que aplica operadores Java a cada elemento e substitui o resultado por esse elemento.
Casos comuns de utilização das listas Java
A seguir, mostramos os usos mais comuns de uma lista Java. Estes incluem conversões de matrizes para listas e vice-versa, bem como ordenar, recuperar ou alterar elementos.
Converter um array numa lista
Para converter uma matriz, pode fazer um loop através de uma lista e utilizar o método .add() para adicionar os elementos à matriz um a um.
import java.util.*;
public class ArrayToList{
public static void main(String args[]){
// Creating Array
String[] colors={"blue","green","red","yellow"};
System.out.println("Array: "+Arrays.toString(colors));
//Converting Array to List
List<String> list=new ArrayList<String>();
for(String color: colors){
list.add(color);
}
System.out.println("List: "+list);
}
}JavaIsso dá este resultado:
Array: [blue, green, red, yellow]
List: [blue, green, red, yellow]JavaConverter uma lista em uma matriz
Uma lista pode ser convertida em uma matriz com o método toArray():
import java.util.*;
public class ListToArray{
public static void main(String args[]){
List<String> days = new ArrayList<String>();
days.add("Monday");
days.add("Tuesday");
days.add("Wednesday");
days.add("Thursday");
days.add("Friday");
days.add("Saturday");
days.add("Sunday");
// Converting ArrayList to Array
String[] array = days.toArray(new String[days.size()]);
System.out.println("Array: "+Arrays.toString(array));
System.out.println("List: "+days);
}
}JavaNo resultado, vemos que o conteúdo da matriz e da lista são idênticos:
Array: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
List: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]JavaRecuperar e modificar elementos de uma lista Java
Com o método get(), é possível aceder a um elemento num índice específico, enquanto que com set() é possível trocar e adicionar um objeto numa posição desejada.
import java.util.*;
public class ListExample{
public static void main(String args[]){
// Creating a List
List<String> letters=new ArrayList<String>();
// Adding elements
letters.add("a");
letters.add("b");
letters.add("c");
// get()
System.out.println("Element at index 1: "+letters.get(1));
// set()
letters.set(2, "d");
for(String letter: letters)
System.out.println(letter);
}
}JavaComo em Java a contagem começa pelo índice 0, obtemos o seguinte resultado:
Element at index 1: b
a
b
dJavaOrdenar uma lista
Para ordenar uma lista Java, podemos utilizar o método .sort() da classe collections. Percorremos a lista através de um loop e mostramos os elementos por ordem na consola:
import java.util.*;
class SortArrayList{
public static void main(String args[]){
// Creating a list of numbers
List<Integer> numbers=new ArrayList<Integer>();
numbers.add(4);
numbers.add(57);
numbers.add(92);
numbers.add(26);
// Sorting
Collections.sort(numbers);
for(Integer number: numbers)
System.out.println(number);
}
}JavaOs números da lista Java aparecem no ecrã em ordem crescente:
4
26
57
92Java487fcdb89f8cda6eeaa9a926605c32e1