SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Estrutura de dados
Armazenam e organizam os dados para que sejam acessados e
manipulados de maneira mais fácil e prática.
Alguns exemplos de estruturas são:
● List;
● Map;
● Set;
● Stack;
● Queue.
List
A interface List facilita o agrupamento de N elementos do mesmo tipo, permitindo
ordenação e duplicação. É implementada pelas classes ArrayList e LinkedList.
ArrayList
LinkedList
Map
A interface Map trabalha com o mapeamento de chaves e seus valores, que
podem ser de qualquer tipo de dado. É implementada pelas classes HashMap,
LinkedHashMap e TreeMap.
HashMap
TreeMap
LinkedHashMap
Set
A interface Set é semelhante à List, com a diferença de que não permite
ordenação e nem elementos repetidos. É implementada pelas classes
HashSet, LinkedHashSet e TreeSet.
HashSet
TreeSet
LinkedHashSet
Stack
A classe Stack, trabalha
com o L.I.F.O. (Last In
First Out), em que que os
elementos são agrupados
em uma pilha, e o último
elemento da posição
sempre será o primeiro a
ser removido.
Stack
Queue
A interface Queue, ao
contrário da Stack,
trabalha com o
F.I.F.O.(First In First Out),
que forma uma fila, onde
o primeiro elemento
adicionado sempre será o
primeiro a sair.
Queue
PriorityQueue
A classe PriorityQueue, que implementa a interface Queue, possui o mesmo
funcionamento, com a diferença de que é ordena uma fila da ordem do menor
valor ao maior valor.
Priority Queue
Capacidade default
A maioria das estruturas de dados, ao serem instanciadas, possuem uma
capacidade padrão de índices e com elementos sendo adicionados às estruturas,
essa capacidade aumenta.
ArrayList: começa em 0, ao adicionar um elemento, aumenta para 10. Ao atingir
10, sua capacidade dobra;
HashMap e LinkedHashMap: começa em 0, ao adicionar um elemento, aumenta
para 16. Ao atingir 16, sua capacidade dobra;
HashSet e LinkedHashSet: começa em 0, ao adicionar um elemento, aumenta
para 16. Ao atingir 16, sua capacidade dobra;
Referência: https://www.geeksforgeeks.org/arraylist-in-java/
Capacidade default
Performance
As diferentes estruturas de dados possuem diferentes performances ao executar
suas tarefas, como este método, por exemplo:
for(int i = 0; i < 1000000; i++) {
estrutura.add(“012.345.678-90”)
}
Performance
Teste realizado dez vezes para cada estrutura, e os resultados, em
milissegundos, obtidos foram os seguintes:
Performance
As diferentes estruturas de dados possuem diferentes performances ao executar
suas tarefas, como este método, por exemplo:
for(int i = 500000; i > 0; i--) {
estrutura.add(500000)
}
Performance
Teste realizado dez vezes para cada estrutura, e os resultados, em
milissegundos, obtidos foram os seguintes:
Estrutura de dados

Más contenido relacionado

Similar a Estrutura de dados

Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
Alvaro Oliveira
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
Maurício Linhares
 

Similar a Estrutura de dados (20)

HashSet, TreeSet, LinkedHashSet em Java
HashSet, TreeSet, LinkedHashSet em JavaHashSet, TreeSet, LinkedHashSet em Java
HashSet, TreeSet, LinkedHashSet em Java
 
Java: strings e arrays
Java: strings e arraysJava: strings e arrays
Java: strings e arrays
 
Aula 13
Aula 13Aula 13
Aula 13
 
8 collections-i
8 collections-i8 collections-i
8 collections-i
 
Collections Java
Collections JavaCollections Java
Collections Java
 
Resumão java
Resumão javaResumão java
Resumão java
 
Classes e Estrutura de Dados
Classes e Estrutura de DadosClasses e Estrutura de Dados
Classes e Estrutura de Dados
 
Lista de inteiros
Lista de inteirosLista de inteiros
Lista de inteiros
 
Java collections-basic
Java collections-basicJava collections-basic
Java collections-basic
 
Grupo2
Grupo2Grupo2
Grupo2
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
String
StringString
String
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
 
Lista encadeada de inteiros
Lista encadeada de inteirosLista encadeada de inteiros
Lista encadeada de inteiros
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Estrutura de Dados
Estrutura de DadosEstrutura de Dados
Estrutura de Dados
 
Java 12 Colecoes
Java 12 ColecoesJava 12 Colecoes
Java 12 Colecoes
 
Heap
HeapHeap
Heap
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 

Más de Pedro Hübner (8)

Tomcat
TomcatTomcat
Tomcat
 
Testes
TestesTestes
Testes
 
Gradle
GradleGradle
Gradle
 
Mockserver
MockserverMockserver
Mockserver
 
Threads
ThreadsThreads
Threads
 
Semana dois
Semana doisSemana dois
Semana dois
 
Boas práticas para desenvolvimento de software
Boas práticas para desenvolvimento de softwareBoas práticas para desenvolvimento de software
Boas práticas para desenvolvimento de software
 
Semana um
Semana umSemana um
Semana um
 

Estrutura de dados

  • 2. Armazenam e organizam os dados para que sejam acessados e manipulados de maneira mais fácil e prática. Alguns exemplos de estruturas são: ● List; ● Map; ● Set; ● Stack; ● Queue.
  • 3. List A interface List facilita o agrupamento de N elementos do mesmo tipo, permitindo ordenação e duplicação. É implementada pelas classes ArrayList e LinkedList.
  • 6. Map A interface Map trabalha com o mapeamento de chaves e seus valores, que podem ser de qualquer tipo de dado. É implementada pelas classes HashMap, LinkedHashMap e TreeMap.
  • 10. Set A interface Set é semelhante à List, com a diferença de que não permite ordenação e nem elementos repetidos. É implementada pelas classes HashSet, LinkedHashSet e TreeSet.
  • 14. Stack A classe Stack, trabalha com o L.I.F.O. (Last In First Out), em que que os elementos são agrupados em uma pilha, e o último elemento da posição sempre será o primeiro a ser removido.
  • 15. Stack
  • 16. Queue A interface Queue, ao contrário da Stack, trabalha com o F.I.F.O.(First In First Out), que forma uma fila, onde o primeiro elemento adicionado sempre será o primeiro a sair.
  • 17. Queue
  • 18. PriorityQueue A classe PriorityQueue, que implementa a interface Queue, possui o mesmo funcionamento, com a diferença de que é ordena uma fila da ordem do menor valor ao maior valor.
  • 20. Capacidade default A maioria das estruturas de dados, ao serem instanciadas, possuem uma capacidade padrão de índices e com elementos sendo adicionados às estruturas, essa capacidade aumenta. ArrayList: começa em 0, ao adicionar um elemento, aumenta para 10. Ao atingir 10, sua capacidade dobra; HashMap e LinkedHashMap: começa em 0, ao adicionar um elemento, aumenta para 16. Ao atingir 16, sua capacidade dobra; HashSet e LinkedHashSet: começa em 0, ao adicionar um elemento, aumenta para 16. Ao atingir 16, sua capacidade dobra; Referência: https://www.geeksforgeeks.org/arraylist-in-java/
  • 22. Performance As diferentes estruturas de dados possuem diferentes performances ao executar suas tarefas, como este método, por exemplo: for(int i = 0; i < 1000000; i++) { estrutura.add(“012.345.678-90”) }
  • 23. Performance Teste realizado dez vezes para cada estrutura, e os resultados, em milissegundos, obtidos foram os seguintes:
  • 24. Performance As diferentes estruturas de dados possuem diferentes performances ao executar suas tarefas, como este método, por exemplo: for(int i = 500000; i > 0; i--) { estrutura.add(500000) }
  • 25. Performance Teste realizado dez vezes para cada estrutura, e os resultados, em milissegundos, obtidos foram os seguintes: