Remoção de elementos

Propaganda
Programação Orientada a Objetos II
Aula - 16
Coleções
Prof. Pedro Luís Antonelli
Anhanguera Educacional
Coleções – Conceito Geral
Uma coleção é uma estrutura de dados que permite armazenar
vários objetos.
Em Java , a coleção também é um objeto.
As operações que podem ser feitas em coleções variam mas
normalmente incluem:
–
–
–
–
–
Adição de elementos;
Remoção de elementos;
Acesso aos elementos;
Pesquisa de elementos;
Indagar sobre atributos.
Coleções – Tipos
Dependendo da forma de fazer as 4 operações básicas (adição,
remoção, acesso e pesquisa), teremos vários tipos de coleções
Os três grandes tipos de coleções são:
– A lista ( também chamado de “sequência“);
– O conjunto;
– O mapa ( também chamado de “dicionário“).
Coleção do tipo “Lista”
Uma lista é uma coleção de elementos arrumados numa ordem
linear, isto é, onde cada elemento tem um antecessor (exceto o
primeiro) e um sucessor (exceto o último)
Normalmente implementada como "Array" ou "Lista Encadeada“, e
pode ser mantida ordenada ou não.
Coleção do tipo “Lista” - Operações
As operações mais importantes de uma coleção do tipo Lista são:
Adição de elementos: adicionar um objeto em qualquer lugar da lista,
fornecendo o índice desejado;
Remoção de elementos: remover um objeto presente em qualquer lugar da
lista, fornecendo o índice desejado;
Acesso aos elementos: obter o elemento de qualquer posição da lista,
fornecendo o índice desejado;
Pesquisa de elementos: descobrir se um certo elemento está na lista e sua
posição;
Indagar sobre atributos: obter o número de elementos da coleção.
Coleção do tipo “Conjunto”
Um conjunto é uma coleção que não possui elementos duplicados.
No conjunto, não há noção de "ordem dos elementos“, apesar de ser possível
ordenado um conjunto.
Coleção do tipo “Conjunto” - Operações
As operações mais importantes de uma coleção do tipo Conjunto são:
Adição de elementos: adicionar um objeto no conjunto (descartando
duplicações);
Remoção de elementos: remover um objeto presente no conjunto;
Acesso aos elementos;
Pesquisa de elementos: descobrir se um certo elemento está na coleção;
Indagar sobre atributos: obter o número de elementos;
Como se vê, as operações são semelhantes, embora diferentes, daquelas para
uma Lista.
Coleção do tipo “Mapa”
Um mapa armazena pares (chave, valor) chamados itens Chaves e valores
podem ser de qualquer tipo. A chave é utilizada para achar um elemento
rapidamente e estruturas especiais são usadas para que a pesquisa seja
rápida.
Diz-se portanto que um mapa "mapeia chaves para valores“.
Um mapa pode ser mantido ordenado ou não (com respeito às chaves)
Coleção do tipo “Mapa” - Operações
As operações mais importantes de uma coleção do tipo Mapa são:
Adição de elementos: adicionar um item no mapa (fornecendo chave e valor);
Remoção de elementos: remover um item com chave dada;
Acesso aos elementos;
Pesquisa de elementos: descobrir se um elemento com chave dada está na
coleção;
Indagar sobre atributos: obter o número de elementos.
Observe que o acesso à coleção sempre é feita conhecendo a chave.
Coleção em Java
O pacote java.util oferece algumas classes pré-definidas na API padrão de Java
que implementam funcionalidades associadas a coleções.
As classes de coleções da API Java compõem o chamado framework de
coleções, que foi completamente redefinido a partir da versão 1.2 de Java.
O framework tem por raiz duas APIs básicas:
- Collection: usada para a manipulação de coleções onde os
elementos são objetos individuais;
- Map: usada para a manipulação de estruturas de pares de objetos,
sendo um deles usado como a chave de acesso.
Hierarquia das Coleções em Java
A API Collections forneces interfaces e classes para coleções.
Hierarquia de classes e interfaces de Collection
Hierarquia de classes e interfaces de Map
Uso de Conjuntos
Coleção de objetos que não admite objetos em duplicata.
A classe HashSet da API Collection pode ser utilizada com boa performance.
A classe TreeSet da API Collection garante a ordem implícita dos elementos.
A interface Set define o contrato dessa coleção.
Métodos principais:
add: adiciona um objeto ao set.
remove: remove um objeto do set.
contains: retorna true se o set contém o objeto.
Exemplo de conjunto com a classe HashSet no NetBeans
Exemplo com o NetBeans- continuação
Exemplo com o NetBeans- continuação
Exemplo de conjunto com a classe TreeSet
Exemplo de conjunto homogêneo
Uso de Listas
Coleção de objetos que aceita dados em duplicata.
A classe ArrayList perde eficiência quando a lista cresce.
A classe LinkedList fornece um lista duplamente encadeada, oque melhora
consideravelmente a sua performance.
A classe Stack implementa os métodos adicionais para push e pop.
Uso de Listas
A interface List define o contrato dessa coleção.
Métodos principais:
add: adiciona um objeto a lista.
remove: remove um objeto da lista.
contains: retorna true se a lista contém o objeto.
indexOf: retorna o índice do objeto na lista ou −1.
Exemplo de uso da classe ArrayList no Netbeans
Uso de Mapas
Coleção de objetos como arrays, mas índices são objetos , ou seja um conjunto
de pares (chave , valor) de objetos.
As chaves não podem ser duplicadas.
A classe HashMap oferece uma boa eficiência.
A classe TreeMap ofecere a ordenação dos elementos por chave.
Uso de Mapas
A interface Map define o contrato dessa coleção.
Métodos principais:
put: adiciona um objeto ao mapa.
remove: remove um objeto do mapa.
get: recupera um objeto do mapa.
KeySet: retorna um set com todas as chaves.
values: retorna uma coleção com todos os valores.
Exemplo de uso de Mapas no Netbeans
Exemplo2 de uso de mapas no Netbeans
BIBLIOGRAFIA BÁSICA PADRÃO
SANTOS, Rafael. Introdução à Programação
Orientada a Objetos Usando Java. 1ª ed. Rio de
Janeiro: Campus - Elsevier, 2008.
BIBLIOGRAFIA BÁSICA DA UNIDADE
1) DEITEL, Harvery M.. Java : Como Programar. 6ª ed.
São Paulo: Pearson - Prentice Hall, 2007.
2) SIERRA, Kathy; BATES, Bert. Use a Cabeça! Java. 1ª ed.
Rio de Janeiro: Alta Books, 2005.
BIBLIOGRAFIA COMPLEMETAR
1) BARNES, David J.. PROGRAMAÇÃO ORIENTADA A
OBJETOS COM JAVA : UMA INTRODUÇÃO PRÁTICA
USANDO O BLUE J. 1ª ed. São Paulo: Pearson, 2004.
2) KURNIAWAN, Budi. Java para Web com Servlets, JSP e
EJB. 1ª ed. Rio de Janeiro: Ciência Moderna, 2002.
3) GOMES ASCENCIO, Ana Fernanda; CAMPOS, Edilene
A.V. de. Fundamentos da Programação de Computadores
: Algoritmos, Pascal, C/C++ e Java. 2ª ed. São Paulo:
Pearson - Prentice Hall, 2008.
4) HORSTMANN, Cay S.; CORNELL, Gary. Core Java 2 :
Fundamentos. 7ª ed. Rio de Janeiro: Alta Books, 2005.
5) ANSELMO, Fernando. Tudo Sobre a JSP : Com o
Netbeans em Aplicações Distribuídas. 1ª ed. São Paulo:
VisualBooks, 2005.
BIBLIOGRAFIA DA APRESENTAÇÃO
1) Coleções e Aplicações – disponível em
www.lac.inpe.br/∼rafael.santos – acesso em 22/11/12
2) Java – Array e Coleções- disponível em
http://javanoroeste.com.br/javanoroeste/novo/artigos/arrays_coleco
es.html- acesso em 10/11/2012
3) Arrays, Coleções e Listas- disponível em:
http://www.metropoledigital.ufrn.br/aulas/disciplinas/poo/aula_09.h
tml - acesso em 10/11/2012
4)Coleções:http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/ed/
colecoes.htm – acesso em 10/11/2012
Download