Collection Java (2/2)

0 views
3,063 views

Published on

Introdução a Java Collection

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
0
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
78
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Collection Java (2/2)

  1. 1. Collections Framework
  2. 2. Collections
  3. 3. 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.
  4. 4. 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()
  5. 5. 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); }
  6. 6. compareTo() public int compareTo(ContaPoupanca o) { if (this.getNumero() < o.getNumero()) { return -1; } if (this.getNumero() > o.getNumero()) { return 1; } return 0; }
  7. 7. 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>();
  8. 8. 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
  9. 9. java.Util.Set
  10. 10. 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);
  11. 11. 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
  12. 12. Map
  13. 13. Map
  14. 14. 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;
  15. 15. 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
  16. 16. 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.
  17. 17. 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.
  18. 18. 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.

×