Professional Documents
Culture Documents
Colees
Colees
Introduo
Java fornece implementaes de estruturas de dados
recorrentemente utilizadas, por exemplo:
Lista
Pilha
Fila
Hash
Entre outras
Introduo
Em Java uma coleo
um objeto
Pode armazenar referncias a outros objetos
Possui um iterador (Iterator)
Descrio
A interface-raiz na hierarquia de colees a partir da qual as
interfaces set queue e list so derivadas.
Uma coleo que no contm duplicatas.
Uma coleo ordenada que pode conter elementos duplicados.
Associa chaves a valores e no pode conter chaves duplicadas.
Em geral uma coleo primeiro a entrar primeiro a sair que
modela uma fila de espera; outras ordens podem ser
especificadas.
4
Introduo
Algoritmos da classe Collections
Introduo
As colees de Java so definidas em java.util.*
As colees de Java implementam a interface Collection.
A interface Collection fornece um mtodo iterator que
retorna um objeto do tipo Iterator.
Iterator
Iterator
Funciona como um ponteiro para o primeiro elemento da sua
coleo.
Exemplo:
ArrayList <String> nome = new ArrayList<>();
nome.add("Ana");
nome.add("Joana");
nome.add("Roberta");
Iterator it = nome.iterator();
Arrays
Arrays
Classe java.util.Arrays
Fornece mtodos estticos (static) para manipular arranjos.
Possui os seguintes mtodos, entre outros:
sort: ordena o arranjo
copyOf: faz uma cpia de um arranjo
10
Arrays
11
Listas
12
Listas
uma coleo que pode conter elementos duplicados.
java.util.List uma interface de Java que define listas.
A interface List implementada por:
Vector: uma implementao para arranjos em Java 1.0 antes de
colees serem inseridas em Java.
ArrayList: realiza basicamente as mesmas operaes que Vector,
porm com melhor desempenho
LinkedList: implementao para lista encadeada.
13
ArrayList
14
ArrayList
15
ArrayList
Ao se declarar colees, deve-se definir seu tipo:
Exemplo:
ArrayList <String> X = new ArrayList<>();
ArrayList Y = new ArrayList<>();
Pilha
17
Pilha
uma coleo que implementa LIFO (ltimo a entrar
primeiro a sair).
Classe java.util.Stack
Mtodos principais:
18
Stack
19
Conjuntos
20
Conjuntos
Um conjunto uma coleo que no contm elementos
duplicados.
java.util.Set a interface que define um conjunto em Java.
java.util.HashSet uma classe que implementa a interface
Set.
21
Conjuntos
Principais mtodos de java.util.HashSet:
add: inclui um elemento no conjunto se ele ainda no estiver no
conjunto.
contains: verifica se o conjunto contm um elemento.
isEmpty: verifica se o conjunto est vazio.
22
Conjuntos
23
Mapas
24
Mapas
Mapas (mapeamentos):
associam chaves a valores
chaves no podem ser duplicadas
25
Mapas
java.util.HashMap
containsKey (Object key): verifica se o mapa possui a chave
informada.
containsValue (Object value): verifica se h no mapa alguma
chave mapeada para o valor informado.
get (Object key): retorna o valor para o qual a chave informada
est mapeada.
26
Mapas
put (Object key, Object value): insere um mapeamento da
chave para o valor no mapa.
27
Mapas
28
Mapas
29
Referncia
BARNES, David; KLLING, Michael.. Programao Orientada a
Objetos com Java: Uma introduo prtica usando o BlueJ.
So Paulo: Pearson Prentice Hall, 4 ed., 2009.
DEITEL, H. M.; DEITEL, P. J. Java - Como Programar. 8 ed.
Prentice-Hall, 2011. Captulos 7 e 20.
30
Perguntas
?
31