Java 17 – Revisão de Estruturas de Dados
Olár meus queridos leitores, me empolguei e criei mais um artigo. Hoje decidi falar um pouco sobre estruturas de dados com Java 17 (que faz parte dos estudos pro meu PDI).
Essas estruturas são o segredo pra lidar com grandes quantidades de dados de forma organizada e eficiente. E quando se fala de Java, a biblioteca padrão tá cheia delas né! Aí vão algumas das principais que são necessárias saber:
- Arrays: Coleção de elementos do mesmo tipo de dados que podem ser adicionados ou removidos.
Ex.:

No exemplo acima, temos um array de inteitos, chamado “numeros” e esse array só pode ter 5 elementos.
Com Java 17 da pra inferir como int[ ]
na inicialização, o que deixa o código mais legível 🙂

- ArrayList: Coleção dinâmica de elementos que podem ser adicionados ou removidos.
Ex.:

No exemplo acima, temos um objeto do tipo ArrayList que pode armazenar elementos do tipo Integer. Depois, adicionamos cinco elementos no ArrayList usando o método add.
Em seguida, acessamos os elementos do ArrayList usando o método get. No primeiro System.out.println
, é exibido o primeiro elemento (índice 0
) e, no segundo, exibimos o último elemento (índice numeros.size() - 1
).
E por último, mas não menos importante, percorremos o ArrayList com um for-each exibindo cada elemento com o System.out.println
.
- LinkedList: Lista encadeada que armazena elementos em nós e tem o ponteiro para o próximo nó da lista. Ex.:

Neste exemplo, temos um objeto do tipo LinkedList que pode armazenar elementos do tipo String. Depois, adicionamos cinco elementos à LinkedList usando o método add.
Em seguida, acessamos os elementos da LinkedList usando os métodos getFirst e getLast. No primeiro System.out.println
, exibimos o primeiro elemento e, no segundo, exibimos o último elemento.
Depois, removemos o terceiro elemento da LinkedList usando o método remove.
Por fim, percorremos a LinkedList com um for-each exibindo cada elemento com o System.out.println
.
Lembrando que LinkedList é uma estrutura de dados encadeada, o que quer dizer que ela armazena referências para os elementos em vez de armazenar os elementos diretamente.
- Stack: Pilha que utiliza LIFO (Last-In, First-Out). Ex.:

No exemplo acima, temos um objeto do tipo Stack que pode armazenar elementos do tipo String. Em seguida, adicionamos três elementos à pilha usando o método push.
Depois, acessamos o elemento no topo da pilha usando o método peek. Após, removemos o elemento no topo da pilha usando o método pop.
Por fim, a pilha é percorrida com um for-each, exibindo cada elemento com o System.out.println
.
WIP