Matriz de lista vinculada em Java
- Demonstrar a matriz de lista vinculada usando um array tradicional em Java
- Demonstrar a matriz de lista vinculada usando o construtor em Java
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
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedInArtigo relacionado - Java Linked List
- Classificar lista vinculada em Java
- Imprimir lista vinculada em Java
- Lista duplamente vinculada em Java