HOWTO · Java
Matriz de lista vinculada em Java
Este artigo apresenta um array de lista vinculada em Java.
Nesta página
Uma LinkedList é a estrutura de dados sequencial e linear que armazena elementos em uma ordem definida. A estrutura de dados faz parte da interface Collection e está presente no pacote java.util.
A lista vinculada também possui elementos armazenados na parte node. Cada nó tem uma parte data para armazenamento do elemento e o pointer para manter o endereço do próximo nó. Os elementos da lista não estão presentes em locais de memória contíguos.
Demonstrar a matriz de lista vinculada usando um array tradicional em Java
Abaixo está o bloco de código que cria um array de listas vinculadas usando loops.
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList[] list = new LinkedList[5];
for (int i = 0; i < 5; i++) {
if (list[i] == null) {
list[i] = new LinkedList();
int temp = i;
for (int j = 0; j < temp + 1; j++) {
list[i].add(j);
}
}
System.out.print(list[i]);
}
}
}
No bloco acima, a instrução new LinkedList[5] cria uma lista vinculada. A nova palavra-chave chama o construtor público da lista vinculada da classe. O valor 5 demonstra o tamanho do array, portanto, criamos um array de 5 listas vinculadas.
Sobre a variável de lista, o loop é executado para instanciar uma nova lista vinculada em cada nó. Portanto, um loop for é aplicado com uma condição de valor inteiro menor que 5 e começa a ser executado. Internamente, ele verifica a condição se o valor no nó for null; caso contrário, um novo nó Linked List é instanciado.
Novamente, um loop for é usado para preencher os elementos na lista. O método add é usado para anexar os elementos no final da lista. O método é da classe LinkedList e retorna o valor booleano. Ele retorna true se a função adicionar for executada com sucesso, caso contrário, false.
Da mesma forma, a iteração continua e o valor de cada nó é preenchido com a lista vinculada. O mesmo também é impresso dentro do loop para verificar os elementos presentes nos nós.
Produção:
[0][0, 1][0, 1, 2][0, 1, 2, 3][0, 1, 2, 3, 4]
Demonstrar a matriz de lista vinculada usando o construtor em Java
Abaixo está o bloco de código que usa recursos e funções do Java 8 para criar um array de listas vinculadas.
import java.util.ArrayList;
import java.util.LinkedList;
public class main {
public static void main(String[] args) {
LinkedList list1 = new LinkedList<String>();
list1.add("l1_value1");
list1.add("l1_value2");
LinkedList list2 = new LinkedList();
list2.add("l2_value1");
list2.add("l2_value2");
LinkedList list3 = new LinkedList();
list3.add("l3_value1");
list3.add("l3_value2");
ArrayList<LinkedList> arrayList = new ArrayList<LinkedList>();
arrayList.add(list1);
arrayList.add(list2);
arrayList.add(list1);
arrayList.forEach(System.out::println);
System.out.println("Classname: " + arrayList.get(0).getClass());
}
}
No bloco de código acima, o método main contém a lógica real para a execução do código.
Em primeiro lugar, uma lista vinculada é criada usando a palavra-chave new. A palavra-chave invoca o construtor público da classe LinkedList. Os valores da string são inseridos na lista. Da mesma forma, outras duas listas são criadas.
Finalmente, uma lista de arrays é instanciada. As variáveis de lista formadas são adicionadas na instância da lista do array. A iteração da instância da lista acontece usando a função forEach. Além disso, uma instrução print com o operador de referência de método, ::, é adicionada para mostrar o nome do tipo de instância presente na lista de array.
A saída do programa acima é mostrada abaixo.
[l1_value1, l1_value2][l2_value1, l2_value2][l1_value1, l1_value2] Classname
: class java.util.LinkedList