Collections Framework - Java e Orientação A Objetos
Collections Framework - Java e Orientação A Objetos
CAPÍTULO 16
Collections framework
1 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Na figura acima, você pode ver um array que antes estava sendo
completamente utilizado e que, depois, teve um de seus
elementos removidos.
2 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Collections
3 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
4 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
System.out.println(contas.size());
5 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
6 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Vector
7 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Conheça a Alura.
8 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
9 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
class Agencia {
public ArrayList<Conta> buscaTodasContas() {
ArrayList<Conta> contas = new ArrayList<>();
return contas;
}
}
class Agencia {
10 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
return contas;
}
}
class Agencia {
class Empresa {
// ...
}
11 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Collections.sort(lista);
System.out.println(lista);
Mas toda lista em Java pode ser de qualquer tipo de objeto, por
exemplo, ContaCorrente. E se quisermos ordenar uma lista de
ContaCorrente? Em que ordem a classe Collections ordenará?
Pelo saldo? Pelo nome do correntista?
12 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
13 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
return 0;
}
}
14 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
15 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
16 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
17 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Collections.sort(contas);
}
}
18 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
19 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
System.out.println(contas);
Teste a ordenação.
20 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
21 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
cargos.add("Gerente");
cargos.add("Diretor");
cargos.add("Presidente");
cargos.add("Secretária");
cargos.add("Funcionário");
cargos.add("Diretor"); // repetido!
Ordem de um Set
22 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
23 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
24 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
conjunto.add("java");
conjunto.add("vraptor");
conjunto.add("scala");
25 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
System.out.println(palavra);
APOSTILA JAVA E ORIENTAÇÃO A OBJETOS
}
26 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Iterator<String> i = lista.iterator();
27 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
ListIterator
28 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
29 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
// cria o mapa
Map<String, ContaCorrente> mapaDeContas = new
HashMap<>();
30 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
31 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
cursos.
config.setProperty("database.login", "scott");
config.setProperty("database.password", "tiger");
config.setProperty("database.url","jdbc:mysql:/localhost
/teste");
32 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
33 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
34 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
35 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
em vez de:
36 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
37 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
// cria o mapa
Map mapaDeContas = new HashMap();
Você pode utilizar o quickfix do Eclipse para que ele conserte isso
para você: na linha em que você está chamando o put, use o ctrl
+ 1. Depois de mais um quickfix (descubra!) seu código deve ficar
como segue:
// cria o mapa
Map<String, Conta> mapaDeContas = new HashMap<>();
38 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Perceba que aqui o nosso intuito não é que você aprenda qual é o
mais rápido, o importante é perceber que podemos tirar proveito
do polimorfismo para nos comprometer apenas com a interface.
Depois, quando necessário, podemos trocar e escolher uma
implementação mais adequada as nossas necessidades.
Qual das duas listas foi mais rápida para adicionar elementos à
39 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
40 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
16.16 - DESAFIOS
41 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
42 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
System.out.println(lista);
43 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
System.out.println(lista);
44 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
System.out.println(lista);
https://jdk8.java.net/download.html
45 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
46 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Blog Caelum
Cursos
Online
47 de 48 24/10/17 17:24
Collections framework - Java e Orientação a Objetos https://www.caelum.com.br/apostila-java-orientacao-objetos/collection...
Newsletter
Casa do
Código
48 de 48 24/10/17 17:24