A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Coleções em Java - Parte 2

Apresentações semelhantes


Apresentação em tema: "Coleções em Java - Parte 2"— Transcrição da apresentação:

1 Coleções em Java - Parte 2
Flávia Falcão

2 Visão Geral : Interfaces Principais
Collection Set List Map SortedSet SortedMap

3 Collection Interface Collection Um grupo de Objetos
Metodos principais: Boolean add(Object); Boolean remove(Object) Int size(); Boolean isEmpty() Boolean contains(Object) Iterator iterator()

4 List Representa uma seqüência de Objetos
Interface List extends Collection Representa uma seqüência de Objetos È possível acessa-los através de índice Elementos duplicados são permitidos

5 Implementações de List
Vector ArrayList LinkedList Uma implementação de lista duplamente ligada Melhor performance que o ArrayList quando elementos são inseridos e apagados com freqüência

6 Implementações de List
Apesar da implementação Vector ser a mais antiga é a mais usada Porem as implementações ArrayList e LinkedList são normalmente mais apropriadas para uso geral e apresentam também melhor performance na maioria dos casos

7 Uso de List Criar Adcionar elementos Obter elemento
List lista = new ArrayList(); // aqui vc pode colocar qualquer implementação de List Adcionar elementos Lista.add(new Conta(“002”, 2000); Obter elemento Conta c = ( Conta) lista.get(0);

8 Exemplo import java.util.ArrayList; import java.util.List; public class ListaExemplo { public static void main(String args[]){ List exemplo = new ArrayList(); String nome1 ="ana"; String nome2 ="maria"; exemplo.add(nome1); exemplo.add(nome2);}}

9 Uso de List Listar Elementos: For(int i=0;i< lista.size();i++){
System.out.println(lista.get(i)); } OU Iterator i = lista.iterator(); while(i.hasNext()){ System.out.println(i.next());

10 List Métodos importantes: Boolean add(Object) Boolean remove(object)
Object get(int) Object set(int,object) Int indexOf(Object) Int lastIndexOf(Object)

11 Set Interface Set extends Collection Coleção sem ordem de Objetos
Sem elementos duplicados Mesmos métodos que Collection Implementado por: HashSet TreeSet

12 Uso de Set Criar Adicionar Obter um elemento
Set conjunto = new HashSet(); Adicionar conjunto.add("Nome"); Obter um elemento Utilizar iterator

13 class ConjuntoExemplo{ public static void main(String args[]){ Set exemplo = new HashSet(); String nome1 ="ana"; String nome2 ="maria"; exemplo.add(nome1); exemplo.add(nome2); }

14 Uso de Set Percorrer Iterator i = conjunto.iterator();
while(i.hasNext()){ System.out.print((String)i.next()); }

15 Exemplo Public class ExemploSets{
public static void main(String args[]){ Set set = new HashSet(); set.add(“bernardo”); set.add(“elizabete”); set.add(“maria”); set.add(“clara”); System.out.println(set); Set sortedSet = new TreeSet(set); System.out.println(sortedSet); }}

16 Exercicio Comparação List e Set Criar uma classe e um método main
Criar uma List e um Set e adicionar elementos String Adicionar elementos String repetidos a ambas as coleções Verificar o tamanho das duas coleções – método size()

17 Exercicio( cont.) Obter elementos : o segundo elemento de cada coleção e imprimi-los.Como obter o segundo elemento do Set? Imprimir as duas coleções Repetir os passos agora usando um Objeto Conta ao invés de String. O que é necessário para isso?

18 Map Interface Map Mapeia chaves para valores
Cada chave pode ter no máximo um valor Inserções e pesquisas muito rápidas Implementações Hashtable HashMap

19 Uso de Map Criar Adicionar elementos Obter elementos
Map mapa = new HashMap(); Adicionar elementos Mapa.put(“001”, new Conta(“001”,2000)); Obter elementos Conta c = (Conta) mapa.get(“005”);

20 Iterator Um iterator é um objeto que nos ajuda a varrer (iterar) uma coleção Um cast como é necessário aqui porque a cole pode conter qualquer Object e temos que dizer que tipo de coisa estamos esperando para satisfazer o compilador Java Tente compilar o programa sem os casts

21 Como escolher entre as coleçoes?
Primeiro, aplicação dita se você vai precisar de Lista, conjunto ou Mapa Se sua aplicação precisar manter duplicatas, use Lista Se sua aplicação não precisar manter duplicatas e não usa chaves use conjuntos Se a aplicação não precisar manter duplicatas e usa chaves, use Mapa

22 Se precisar de uma lista:
Use Vector ou ArrayList se acessar por indice for com freqüência Use LinkedList se inserir ou remover elementos do meio com freqüência

23 Se precisar de um conjunto
Use HashSet se não precisar de um conjunto ordenado Use TreeSet se precisar de um conjunto ordenado

24 Se precisar de um Mapa Use HashMap se não precisar de um mapa ordenado
Use TreeMap se precisar de um mapa ordenado

25 Exercicio 1 Adicione a seqüência de números 2, 5, 3,9,2,4,3,8,5 a um conjunto(Set) e a uma lista(List), escolhendo a implementação que desejar. Em seguida imprima o conteúdo de ambas as coleções usando iterator e analise as diferenças.

26 Exercício 2 Escreva uma aplicação de dicionário com três funções: adicionar um termo o dicionário,procurar um termo no dicionário e listar todos os termos existentes em ordem alfabética.Qual classe você usou para implementar a coleção de palavras e por quê?


Carregar ppt "Coleções em Java - Parte 2"

Apresentações semelhantes


Anúncios Google