Java Como Programar: Coleções Genéricas - DECOM-UFOP

Propaganda
Java Como Programar, 8/E
Slide 1
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 2
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 3
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 4
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education



Slide 5
Estrutura de coleções do Java.
Estruturas de dados predefinidas.
Interfaces e métodos para manipular essas estruturas de dados
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Slide 6
Uma coleção é uma estrutura de dados — na realidade, um objeto — que
pode armazenar referências a outros objetos.
Normalmente, as coleções contêm referências a objetos que são todos do
mesmo tipo.
A Figura 20.1 lista algumas interfaces da estrutura de coleções.
Pacote java.util.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 7
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Slide 8
Cada tipo primitivo tem uma classe empacotadora de tipo correspondente (no
pacote java.lang).
Boolean, Byte, Character, Double, Float, Integer, Long e Short.
Cada classe empacotadora de tipo permite manipular valores de tipo primitivo
como objetos.
As coleções não podem manipular variáveis de tipos primitivos.
Elas podem manipular objetos das classes empacotadoras de tipos, porque toda
classe, em última instância, deriva de Object.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education



Slide 9
Cada uma das classes empacotadoras de tipos numéricos — Byte, Short,
Integer, Long, Float e Double — estendem a classe Number.
As classes empacotadoras de tipos são classes final, portanto, você não pode
estendê-las.
Os tipos primitivos não têm métodos, então, os métodos relacionados a um tipo
primitivo estão localizados na classe empacotadora de tipo correspondente.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Uma conversão boxing converte um valor de um tipo primitivo em um objeto da
classe empacotadora de tipo correspondente.
Uma conversão unboxing converte um objeto de uma classe empacotadora de tipo
em um valor do tipo primitivo correspondente.
Essas conversões podem ser realizadas automaticamente (chamam-se autoboxing e
auto-unboxing).
Exemplo:
◦ // cria integerArray
Integer[] integerArray = new Integer[ 5 ];
// assign Integer 10 to integerArray[ 0 ]
integerArray[ 0 ] = 10;
// get int value of Integer int value = integerArray[
0 ];
Slide 10
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education







Slide 11
A interface Collection é a interface-raiz a partir da qual as interfaces Set, Queue
e List são derivadas.
A interface Set define uma coleção que não contém duplicatas.
A interface Queue define uma coleção que representa uma fila de espera.
A interface Collection contém operações de volume para adicionar, limpar e
comparar objetos de uma coleção.
Uma Collection também pode ser convertida em um array.
A interface Collection fornece um método que retorna um objeto Iterator, que
permite a um programa percorrer a coleção e remover elementos da coleção
durante a iteração.
A classe Collections fornece os métodos static que pesquisam, classificam e
realizam outras operações em coleções.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 12
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 13
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education





Slide 14
Uma List (às vezes, chamada sequência) é uma Collection que pode conter
elementos duplicados.
Os índices de List são baseados em zero.
Além dos métodos herdados de Collection, List fornece métodos para
manipular elementos via seus índices, manipular um intervalo especificado de
elementos, procurar elementos e obter um ListIterator para acessar os elementos.
A interface List é implementada por várias classes, incluindo ArrayList,
LinkedList e Vector.
O autoboxing ocorre quando você adiciona valores de tipo primitivo a objetos
dessas classes, pois eles armazenam apenas referências a objetos.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education







Slide 15
As classes ArrayList e Vector são implementações de arrays redimensionáveis de
List.
Inserir um elemento entre elementos existentes de um ArrayList ou Vector é
uma operação ineficiente.
Uma LinkedList permite inserção (ou remoção) eficiente de elementos no meio
de uma coleção.
Discutimos a arquitetura de listas encadeadas (vinculadas) no Capítulo 22.
A principal diferença entre ArrayList e Vector é que Vectors são
sincronizados por padrão, enquanto ArrayLists não o são.
As coleções não sincronizadas fornecem melhor desempenho que as sincronizadas.
Por essa razão, ArrayList é, em geral, preferida a Vector em programas que
não compartilham uma coleção entre threads.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 16
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 17
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education








Slide 18
O método List add adiciona um item ao final de uma lista.
O método List size retorna o número de elementos.
O método List get recupera o valor de um elemento individual de um índice
especificado.
O método Collection iterator obtém um Iterator de uma Collection.
O método Iterator hasNext determina se uma Collection contém mais
elementos. Retorna true se houver outro elemento e, false, caso contrário.
O método Iterator next retorna uma referência para o próximo elemento.
O método Collection contains determina se uma Collection contém um
elemento especificado.
O método Iterator remove o elemento atual de uma Collection.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 19
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 20
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 21
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 22
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education







Slide 23
O método List addAll acrescenta todos os elementos de uma coleção ao final de
uma List.
O método List listIterator obtém o iterador bidirecional de uma List.
O método String toUpperCase obtém uma versão em letras maiúsculas de uma
String.
O método ListIterator set substitui o elemento atual ao qual o iterador referencia
por um objeto especificado.
O método String toLowerCase retorna uma versão em letras minúsculas de uma
String.
O método List subList obtém uma parte de uma List.
Isso é o que chamamos de método de visualização de intervalo, que permite ao
programa visualizar uma parte da lista.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Slide 24
O método List clear remove os elementos de uma List.
O método List size retorna o número de itens na List.
O método ListIterator hasPrevious determina se há mais elementos ao
percorrer a lista de trás para frente.
O método ListIterator previous obtém o elemento anterior na lista.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 25
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 26
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 27
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 28
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education







Slide 29
A classe Arrays fornece o método static asList para visualizar um array
como uma coleção List.
Uma visualização List permite manipular o array como se ele fosse uma lista.
Isso é útil para adicionar os elementos de um array a uma coleção e para classificar
os elementos do array.
Qualquer modificação feita por meio da visualização List altera o array, e
qualquer modificação feita no array altera a visualização List.
A única operação permitida na visualização retornada por asList é set, que
altera o valor da visualização e o array de apoio.
Quaisquer outras tentativas de alterar a visualização resultam em uma
UnsupportedOperationException.
O método List toArray obtém um array de uma coleção List.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 30
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 31
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education



Slide 32
O método LinkedList addLast adiciona um elemento ao final de uma List.
O método LinkedList add também adiciona um elemento ao final de uma List.
O método LinkedList addFirst adiciona um elemento ao início de uma List.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 33
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education


Slide 34
A classe Collections fornece vários algoritmos de alto desempenho para
manipular elementos de coleção.
Os algoritmos (Figura 20.5) são implementados como métodos static.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 35
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 36
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education





Slide 37
O método sort classifica os elementos de uma List.
Os elementos devem implementar a interface Comparable.
A ordem é determinada pela ordem natural do tipo dos elementos como
implementado por um método compareTo.
O método compareTo é declarado na interface Comparable e, às vezes, é
chamado de método natural de comparação.
A chamada sort pode especificar como um segundo argumento um objeto
Comparator que determina uma ordem alternativa dos elementos.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 38
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 39
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education


Slide 40
A interface Comparator é utilizada para classificar elementos de uma
Collection em uma ordem diferente.
O método static Collections reverseOrder retorna um objeto
Comparator que ordena os elementos da coleção na ordem inversa.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 41
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 42
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Slide 43
A Figura 20.8 cria uma classe Comparator personalizada, chamada
TimeComparator, que implementa a interface Comparator para
comparar dois objetos Time2.
A classe Time2, declarada na Figura 8.5, representa o tempo em horas,
minutos e segundos.
A classe TimeComparator implementa a interface Comparator, um tipo
genérico que aceita argumento de um único tipo.
Uma classe que implementa Comparator deve declarar um método
compare que recebe dois argumentos e retorna um número inteiro negativo se
o primeiro argumento for menor que o segundo, 0 se os argumentos forem
iguais ou um número inteiro positivo se o primeiro argumento for maior do que
o segundo.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 44
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 45
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 46
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 47
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education

Slide 48
O método shuffle ordena aleatoriamente os elementos de uma List.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 49
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 50
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 51
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 52
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 53
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education








Slide 54
O método Collections reverse inverte a ordem dos elementos em uma List.
O método fill sobrescreve elementos em uma List com um valor específico.
O método copy recebe dois argumentos — uma List de destino e uma List de
origem.
Cada elemento da List de origem é copiado para a List de destino.
A List de destino deve ser pelo menos tão longa quanto a List de origem; caso
contrário, uma IndexOutOfBoundsException ocorre.
Se a List de destino for mais longa, os elementos não sobrescritos permanecerão
inalterados.
Os métodos min e max operam sobre qualquer Collection.
O método min retorna o menor elemento de uma Collection e o método max
retorna o maior elemento de uma Collection.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 55
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 56
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 57
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education





Slide 58
O método static Collections binarySearch localiza um objeto em uma
List.
Se o objeto for encontrado, seu índice será retornado.
Se o objeto não for localizado, binarySearch retornará um valor negativo.
O método binarySearch determina esse valor negativo primeiro calculando o
ponto de inserção e tornando seu sinal negativo.
Então, binarySearch subtrai 1 do ponto de inserção para obter o valor de
retorno, que garante que o método binarySearch retorna números positivos
(>=0) se e somente se o objeto for localizado.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 59
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 60
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 61
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Slide 62
O método Collections addAll aceita dois argumentos — uma Collection na
qual inserir o(s) novo(s) elemento(s) e um array que fornece elementos a ser
inseridos.
O método Collections frequency aceita dois argumentos — uma
Collection a ser pesquisada e um Object a ser procurado na coleção.
O método frequency retorna o número de vezes que o segundo argumento
aparece na coleção.
O método Collections disjoint aceita duas Collections e retorna true se
elas não tiverem nenhum elemento em comum.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 63
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 64
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 65
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education










Slide 66
A classe Stack do pacote de utilitários Java (java.util) estende a classe
Vector para implementar uma estrutura de dados de pilha.
O método Stack push adiciona um objeto Number à parte superior da pilha.
Qualquer literal inteiro que tenha o sufixo L é um valor long.
Um literal de inteiro sem sufixo é um valor int.
Qualquer literal de ponto flutuante que tenha o sufixo F é um valor float.
Um literal de ponto flutuante sem sufixo é um valor double.
O método Stack pop remove o elemento superior da pilha.
Se não houver nenhum elemento na Stack, o método pop lança uma
EmptyStackException, que termina o loop.
O método peek retorna o elemento no topo da pilha sem remover o elemento
da pilha.
O método isEmpty determina se a pilha está vazia.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 67
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 68
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 69
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 70
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 71
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Slide 72
A interface Queue estende a interface Collection e fornece operações
adicionais para inserir, remover e inspecionar elementos em uma fila.
PriorityQueue ordena os elementos de acordo com seu ordenamento natural.
Os elementos são inseridos na ordem de prioridade de tal modo que o elemento de
maior prioridade (isto é, o maior valor) será o primeiro elemento removido da
PriorityQueue.
As operações PriorityQueue comuns são:
◦ offer para inserir um elemento na localização adequada com base na ordem de
prioridade.
◦ poll para remover o elemento de mais alta prioridade da fila de prioridade.
◦ peek para obter uma referência ao elemento de prioridade mais alta da fila de
prioridades.
◦ clear para remover todos os elementos da fila de prioridades.
◦ size para obter o número de elementos na fila.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 73
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 74
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education



Slide 75
Um Set é uma Collection não ordenada de elementos únicos (isto é, sem
elementos duplicados).
A estrutura de coleções contém diversas implementações de Set, incluindo
HashSet e TreeSet.
HashSet armazena seus elementos em uma tabela de hash e TreeSet armazena
seus elementos em uma árvore.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 76
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 77
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education





Slide 78
A estrutura de coleções também inclui a interface SortedSet (que estende Set)
para conjuntos que mantêm seus elementos em ordem de classificação.
A classe TreeSet implementa SortedSet.
O método TreeSet headSet obtém um subconjunto de TreeSet em que todo
elemento é menor do que o valor especificado.
O método TreeSet tailSet obtém um subconjunto em que cada elemento é maior
ou igual a um elemento especificado.
Os métodos SortedSet first e last obtêm os menores e os maiores elementos do
conjunto, respectivamente.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 79
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 80
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 81
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education






Slide 82
Maps associam chaves a valores.
As chaves de um Map devem ser únicas, mas os valores associados, não.
Se um Map contiver tanto chaves como valores únicos, dizemos que ele
implementa um mapeamento um para um.
Se apenas as chaves forem únicas, dizemos que o Map implementa um
mapeamento de muitos para muitos — muitas chaves podem mapear para um
valor.
Três das várias classes que implementam a interface Map são Hashtable,
HashMap e TreeMap.
Hashtables e HashMaps armazenam elementos em tabelas hash, e TreeMaps
armazenam elementos em árvores.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education






Slide 83
A interface SortedMap estende Map e mantém suas chaves em ordem de
classificação — na ordem natural dos elementos ou em uma ordem especificada
por um Comparator.
A classe TreeMap implementa SortedMap.
Hashing é um esquema de alta velocidade para converter chaves em índices de
arrays únicos.
O fator de carga de uma tabela de hash afeta o desempenho de esquemas de
hashing.
O fator de carga é a relação do número de células ocupadas na tabela de hash com o
número total de células na tabela de hash.
Quanto mais a proporção se aproxima de 1,0, maior a chance de colisões.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 84
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 85
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 86
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 87
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 88
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education







Slide 89
O método Map containsKey determina se a chave está em um mapa.
O método Map put cria uma nova entrada no mapa ou substitui um valor de
entrada existente.
O método put retorna o valor anterior associado com a chave, ou null se a
chave não estiver no mapa.
O método get obtém o valor associado com a chave especificada no mapa.
O método HashMap keySet retorna um conjunto de chaves.
O método size retorna o número dos pares de chaves/valor no Map.
O método isEmpty retorna um boolean que indica se o Map está vazio.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Slide 90
Um objeto Properties é um Hashtable persistente que normalmente armazena
os pares de chave/valor de strings — supondo que você utiliza métodos
setProperty e getProperty para manipular a tabela em vez dos métodos
Hashtable put e get herdados.
O conteúdo do objeto Properties pode ser gravado em um fluxo de saída
(possivelmente um arquivo) e lido de volta por um fluxo de entrada.
Um uso comum de objetos Properties em versões anteriores do Java era
manter os dados de configuração de aplicativo ou preferências de usuário de
aplicativos.
[Nota: A Preferences API (pacote java.util.prefs) foi projetada para substituir
esse uso da classe Properties.]
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education



Slide 91
O método Properties store salva o conteúdo do objeto no OutputStream
especificado como o primeiro argumento. O segundo argumento, uma String, é
uma descrição gravada no arquivo.
O método Properties list, que aceita um argumento PrintStream, é útil para
exibir a lista de propriedades.
O método Properties load restaura o conteúdo de um objeto Properties a
partir do InputStream especificado como o primeiro argumento (nesse caso, um
FileInputStream).
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 92
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 93
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 94
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 95
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 96
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education




Slide 97
Os empacotadores de sincronização são utilizados para coleções que podem ser
acessadas por múltiplas threads.
Um objeto empacotador (wrapper) recebe chamadas de método, adiciona
sincronização de thread e delega as chamadas para o objeto de coleção empacotado.
A API Collections fornece um conjunto de métodos static para empacotar
coleções como versões sincronizadas.
Os cabeçalhos de método para os empacotadores de sincronização são listados na
Figura 20.20.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 98
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education



Slide 99
A classe Collections fornece um conjunto de métodos static que criam
empacotadores não modificáveis para coleções.
Empacotadores não modificáveis lançam
UnsupportedOperationExceptions se forem feitas tentativas de
modificar a coleção.
Os cabeçalhos para esses métodos são listados na Figura 20.21.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 100
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Slide 101
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education


Slide 102
A estrutura de coleções fornece várias implementações abstratas de interfaces
Collection a partir das quais você pode implementar rapidamente aplicativos
personalizados completos.
Elas incluem:
◦ uma implementação simples de Collection chamada AbstractCollection
◦ uma implementação de List que permite acesso aleatório a seus elementos
chamada AbstractList.
◦ uma implementação de Map chamada AbstractMap.
◦ uma implementação de List que permite acesso sequencial a seus elementos
chamada AbstractSequentialList.
◦ uma implementação de Set chamada AbstractSet.
◦ uma implementação de Queue chamada AbstractQueue.
Deitel/Deitel, 8e. • Java – Como programar • Copyright © 2010 Pearson Education
Download