Collection Java (2/2)
Upcoming SlideShare
Loading in...5
×
 

Collection Java (2/2)

on

  • 3,259 views

Introdução a Java Collection

Introdução a Java Collection

Statistics

Views

Total Views
3,259
Views on SlideShare
3,256
Embed Views
3

Actions

Likes
0
Downloads
63
Comments
0

1 Embed 3

http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Collection Java (2/2) Collection Java (2/2) Presentation Transcript

  • Collections Framework
  • Collections
  • Collections Collection → Βase da hierarquia. Representa um grupo de objetos. List → Mantém a seqüência de inserção. Pode armazenar elementos duplicados. Set → Não armazena elementos duplicados. Map → Relaciona chaves com valores. Não armazena chaves duplicadas. Cada chave só está associada a um valor.
  • Ordenação de Coleções  Ordenação de coleções pode ser feita com o método Collection.sort  Comparação entre itens  Método equals()  Usado nos métodos contains() das collections  Interfaces Comparable e Comparator  Para implementa-las deve-se definir o método compareTo()
  • equals(Object obj) public boolean equals(Object object){ if (object == null){ return false; } if (!(object instanceof Pessoa)){ return false; } Pessoa pessoa = (Pessoa)object; return pessoa.getCpf().equals(this.cpf); }
  • compareTo() public int compareTo(ContaPoupanca o) { if (this.getNumero() < o.getNumero()) { return -1; } if (this.getNumero() > o.getNumero()) { return 1; } return 0; }
  • Generics  Restringe as listas a um determinado tipo de objetos  Dispensa o uso de casting  Dá segurança ao código, permitindo inserir na lista apenas objeto do tipo especificado  Exemplo:  Sem genérics ContaCorrente cc = new ContaCorrente();  Com genérics List<ContaCorrente> contas = new ArrayList<ContaCorrente>();
  • java.util.Set  Não aceita números repetidos  Não existem métodos que trabalham com indices ”get(int)”  A ordem dos elementos na maioria das vezes não é a mesma da inserção dos elementos  Desempenho nas pesquisas superior as implementações de List
  • java.Util.Set
  • Exemplo  Set<String> conjunto = new HashSet<String>();  conjunto.add("paulo");  conjunto.add("guilherme");  conjunto.add("thadeu");  conjunto.add("cosen");  conjunto.add("sergio");  conjunto.add("guilherme"); // repetido!  // imprime na tela todos os elementos  System.out.println(conjunto);
  • Map  Um mapa é composto por um conjunto de associações entre um objeto chave a um objeto valor  Um mapa é muito usado para “indexar” objetos de acordo com determinado critério, para podermos buscalos rapidamente através desse critério
  • Map
  • Map
  • Exemplo ContaCorrente c1 = new ContaCorrente(); c1.deposita(10000); ContaCorrente c2 = new ContaCorrente(); c2.deposita(3000); Map mapaDeContas = new HashMap(); mapaDeContas.put("diretor", c1); mapaDeContas.put("gerente", c2); Object elemento = mapaDeContas.get("diretor"); ContaCorrente contaDoDiretor = (ContaCorrente) elemento;
  • Exercício (1/2) 1 - Crie a classe Conta com os seguintes atributos: int numero, String nome. Essa classe deve implementar o a interface Comparable, sendo que a forma de comparação deve ser por numero. 2 - Crie outra classe que implementará Comparator e que servirá de comparador de nome para uma coleções de contas
  • Exercício (2/2) 1 - Crie uma classe Main que: a)Carregue um collection do tipo Arraylist com dez contas e imprima o conteúdo da collection. b)Ordene a coleção por nome usando a classe que implementa Comparator e imprima as contas. c)Ordene por número e imprima novamente.
  • Exercício (Extra)  Crie uma classe em java que insere 30 mil números numa ArrayList e pesquise-os usando o método contains. Use o método System.currentTimeMillis() para cronometrar o tempo gasto.  Troque a ArrayList por um HashSet e verifique o tempo que vai demorar.
  • Exercício (Extra)  Gere todos os números entre 1 e 1000 e ordene em ordem decrescente utilizando um TreeSet.  Gere todos os números entre 1 e 1000 e ordene em ordem decrescente utilizando um ArrayList.