9 collections-ii
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
386
On Slideshare
386
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Collections II
  • 2. Conjuntos
  • 3. Conjuntos● Conjutos: java.util.Set● É uma coleção que permite não tem elementos duplicados e não necessariamente mantém uma ordenação específica entre os elementos.● Diversas implementações disponíveis, com formas diferentes de representar um conjunto
  • 4. Unicidade● Utilidade da unicidade● Identificação (impressão digital, iris)● Cores● Paises● Vocabulario● Simbologia
  • 5. HashSet● java.util.HashSet implements java.util.Set● Elementos únicos● Rápida em executar buscas● Não mantém a ordem dos elementos
  • 6. HashSet● Criar um conjunto HashSet conj = new HashSet()● Também pode ser feito pela interface Set Set conj = new HashSet()● Adicionar elementos conj.add(“Primeiro”) conj.add(2)
  • 7. HashSet● Total elementos de um conjunto System.out.println(conj.size())● Iterar sobre um conjunto for (Object o : conj) { System.out.println(conj) }● Outros métodos como contains, remove, addAll● Diferentemente de List, não tem o método get
  • 8. Outros métodos de Set● Métodos de conjuntos● A contém B? (a.containsAll(b))● A união B? (a.addAll(b))● A interseção B? (a.retainAll(b))● Existe em A e não em B? (a.removeAll(b))
  • 9. Outras implementações de Set● java.util.LinkedHashSet implements java.util.Set● Diferente de HashSet, essa implementação mantém a ordem de inserção dos elementos● java.util.TreeSet implements java.util.Set● Diferente de HashSet, essa implementação já ordena seus elementos no momento da inserção, se a classe inserida implementar a interface Comparable
  • 10. Mapas● Mapas: java.util.Map● É um conjunto de associações entre um objeto chave e um objeto valor, onde as chaves, assim como os conjuntos são formadas por valores únicos.
  • 11. HashMap● java.util.HashMap implements java.util.Map● Chaves únicas● Não mantém a ordem das chaves
  • 12. HashMap● Criar um mapa HashMap mapa = new HashMap()● Também pode ser feito pela interface Set Map mapa = new HashMap()● Adicionar elementos mapa.put(“nome”, “Thiago”) mapa.put(“empresa”, “Astux”)
  • 13. HashMap● Total elementos de um mapa System.out.println(mapa.size())● Iterar sobre um conjunto for (Object o : mapa.keySet()) { System.out.println(mapa.get(o)) }● keySet() retorna um Set com as chaves do mapa● values() retorna um List contendo todos os valores do mapa
  • 14. Outras implementações de Map● java.util.LinkedHashMap implements java.util.Map● Diferente de HashMap, essa implementação mantém a ordem de inserção das chaves● java.util.TreeMap implements java.util.Map● Diferente de HashSet, essa implementação já ordena suas chaves no momento da inserção, se a classe inserida implementar a interface Comparable
  • 15. Visão Geral de Collections
  • 16. hashCode● Muitas coleções usam tabelas hash em suas implementações.● Para buscas mais eficientes● Funciona como uma agenda telefonica onde o indice é o hashCode
  • 17. Generics● Geralmente uma lista com objetos diferentes não é interessante.● Generics são usados para forçar o uso de uma determinada classe (ou alguma subclasse dela) em uma coleção● Principal vantagem é evitar o uso constante de castings
  • 18. Duvidas?