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
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
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