Coleções de objetos em Java

Propaganda
7/23/2013
Programação de Computadores II
TCC‐00.174
Profs.: Leandro A. F. Fernandes(A1) & Marcos Lage(B1) & Pedro Velloso(C1)
(Turma A1) www.ic.uff.br/~laffernandes
(Turma B1) www.ic.uff.br/~mlage
(Turma C1) www.ic.uff.br/~velloso
Conteúdo: Coleções de objetos em Java
Material elaborado pelos profs. Anselmo Montenegro e Marcos Lage
com contribuições do prof. Leandro A. F. Fernandes
Coleções de Objetos
Definição simples e direta:
Coleção é um objeto onde podemos agrupar vários
objetos
Java Collections Framework:
Conjunto de classes que implementa uma das
subinterfaces da interface Collection
23/07/2013
Programação de Computadores II
2
1
7/23/2013
Subinterfaces de java.util.Collection
Collection<E>
List<E>
23/07/2013
Map<K,V>
Queue<E>
Set<E>
Deque<E>
SortedSet<E>
Entre outras
subinterfaces
SortedMap<K,V>
Programação de Computadores II
3
Subinterfaces de java.util.Collection
List<E>
Interface diretamente ligada a ideia de lista de
elementos, que podem ser acessados pelo índice
Deque<E>
Representa uma coleção onde elementos podem ser
incluidos ou removidos de ambas as extremidades
Queue<E>
Representa a ideia de fila (FIFO)
23/07/2013
Programação de Computadores II
4
2
7/23/2013
Subinterfaces de java.util.Collection
Set<E>
Interface diretamente ligada a ideia de conjunto. As
classes que implementam esta interface não podem
conter elementos repetidos
SortedSet<E>
Um Set<E> que mantém seus elementos ordenados
23/07/2013
Programação de Computadores II
5
Subinterfaces de java.util.Collection
Map<K,V>
Um mapa associa um valor a uma chave. Não é permitida a inclusão de chaves duplicadas neste mapeamento
SortedMap<K,V>
Um Map<K,V> que mantém seus elementos ordenados por chave
23/07/2013
Programação de Computadores II
6
3
7/23/2013
Algumas classes do
Java Collection Framework
List<E>
LinkedList<E>
ArrayList<E>
Stack<E>
Deque<E>
Queue<E>
ArrayDeque<E>
PriorityQueue<E>
23/07/2013
Programação de Computadores II
7
Algumas classes do
Java Collection Framework
Set<E>
SortedSet<E>
HashSet<E>
TreeSet<E>
LinkedHashSet<E>
23/07/2013
Programação de Computadores II
8
4
7/23/2013
Algumas classes do
Java Collection Framework
Map<K,V>
SortedMap<K,V>
HashMap<K,V>
TreeMap<K,V>
LinkedHashMap<K,V>
23/07/2013
Programação de Computadores II
9
Algumas classes do
Java Collection Framework
Coleções
Não
Ordenadas
ArrayList<E>
HashSet<E>
HashMap<K,V>
LinkedList<E>
LinkedHashSet<E>
LinkedHashMap<K,V>
TreeSet<E>
TreeMap<K,V>
Stack<E>
ArrayDeque<E>
Coleções
Ordenadas
23/07/2013
PriorityQueue<E>
Programação de Computadores II
10
5
7/23/2013
Para aprender mais...
Estude por conta própria as interfaces e classe citadas nos slides anteriores
O javadoc dessas interfaces e classes possui toda a informação que você precisa
Métodos de ordenação, embaralhamento, cópia e busca são implementados pela API
23/07/2013
Programação de Computadores II
11
Interface java.util.Iterable
A interface Collection é subinterface de Iterable
Objetos que implementam a interface Iterable podem
ser utilizados na declaração “foreach”
Collection<SomeClass> c = Uma coleção de SomeClass
for (SomeClass curr : c) {
curr é a referência para o objeto atual em c
}
23/07/2013
Programação de Computadores II
12
6
Download