34
Wende Mendes Higino Wende Mendes Higino email: [email protected] email: [email protected] Google Collections Google Collections

Palestra collection google

Embed Size (px)

DESCRIPTION

Apresentação sobre google collection

Citation preview

Page 1: Palestra collection google

Wende Mendes HiginoWende Mendes Higino

email: [email protected]: [email protected]

Google CollectionsGoogle Collections

Page 2: Palestra collection google

ObjetivoObjetivo

Page 3: Palestra collection google

Google CollectionsGoogle Collections

- List- List

- Set- Set

- Map- Map

- Multimap- Multimap

- Multiset- Multiset

Page 4: Palestra collection google

Google CollectionsGoogle Collections

ListList

Page 5: Palestra collection google

Google CollectionsGoogle Collections

Antes:

final List<String> dias = new ArrayList<String>();dias.add("Segunda");dias.add("Terça");

Agora:

final List<String> dias = Lists.newArrayList("Segunda", "Terça");

Page 6: Palestra collection google

Google CollectionsGoogle Collections

MapMap

Page 7: Palestra collection google

Google CollectionsGoogle Collections

Antes:

final Map<Integer, Fornecedor> fornecedores = new HashMap<Integer, Fornecedor>();fornecedores.put(1, new Fornecedor(1, "Bolha Peixes"));fornecedores.put(2, new Fornecedor(1, "Lui Bebidas"));

Agora:

final Map<Integer, Fornecedor> fornecedoresGoogle = Maps.newHashMap();fornecedoresGoogle.put(1, new Fornecedor(1, "Bolha Peixes"));fornecedoresGoogle.put(2, new Fornecedor(1, "Lui Bebidas"));

Page 8: Palestra collection google

Google CollectionsGoogle CollectionsAntes:

Map<Integer, String> imutableMapAntigo;

final Map<Integer, String> mapAntigo = new HashMap<Integer, String>();mapAntigo.put(1, "Bolha");mapAntigo.put(2, "Wende");

imutableMapAntigo = Collections.unmodifiableMap(mapAntigo);

Agora:

ImmutableMap<Integer, String> immutableMap = ImmutableMap.of(1, "Bolha", 2, "Wende");

Page 9: Palestra collection google

Google CollectionsGoogle Collections

Set

Page 10: Palestra collection google

Google CollectionsGoogle Collections

- HashSet;

- LinkedHashSet;

- TreeSet;

- ImmutableSet

Page 11: Palestra collection google

Google CollectionsGoogle Collections

Antes:

final Set<String> dias = new HashSet<String>();dias.add("Segunda");dias.add("Terça");

Ou:

final Set<String> dias = new HashSet<String>(Arrays.asList("Segunda", "Terça");

Agora:

final Set<String> dias = Sets.newHashSet("Segunda", "Terça");

Console:Terça, Segunda ou Segunda, Terça

Page 12: Palestra collection google

Google CollectionsGoogle Collections

Antes:

final Set<String> dias = new LinkedHashSet<String>();dias.add("Segunda");dias.add("Terça");dias.add("Quarta");

Agora:

final Set<String> dias = Sets.newLinkedHashSet();dias.add("Segunda");dias.add("Terça");dias.add("Quarta");

Console:Segunda, Terça, Quarta

Page 13: Palestra collection google

Google CollectionsGoogle Collections

Antes:

final Set<String> dias = new TreeSet<String>();dias.add("Segunda");dias.add("Terça");dias.add("Quarta");

Agora:

final Set<String> dias = Sets.newTreeSet();dias.add("Segunda");dias.add("Terça");dias.add("Quarta");

Console:Quarta, Segunda, Terça

Page 14: Palestra collection google

Google CollectionsGoogle CollectionsAntes:Set<String> setAntigo = new HashSet<String>();setAntigo.add("Bolha");setAntigo.add("Wende");

Collection<String> imutableSetAntigo = Collections.unmodifiableCollection(setAntigo);

Agora:

ImmutableSet<String> immutableSet = ImmutableSet.of("Lui", "Bolha");

Page 15: Palestra collection google

Google CollectionsGoogle Collections

MultimapsMultimaps

Page 16: Palestra collection google

Google CollectionsGoogle Collections

Antes:

final Map<Integer, List<Fornecedor>> map = new HashMap<Integer, List<Fornecedor>>();

public void popular(final Integer fornecedorKey, final Fornecedor fornecedor) {List<Fornecedor> fornecedores = map.get(fornecedorKey); if (fornecedores == null) { fornecedores = new ArrayList<Fornecedor>(); map.put(fornecedorKey, fornecedores);} fornecedores.add(fornecedor);

}

Page 17: Palestra collection google

Google CollectionsGoogle CollectionsAgora:

- ArrayListMultimap;

- LinkedListMultimap;

- TreeMultimap;

- HashMultimap;

- LinkedHashMultimap;

- ImmutableListMultimap

- ImmutableSetMultimap

Page 18: Palestra collection google

Google CollectionsGoogle CollectionsAgora:

final Multimap<Integer, Fornecedor> multimap = ArrayListMultimap.create();

public void popular(final Integer fornecedorKey, final Fornecedor fornecedor) {multimap.put(fornecedorKey, fornecedor);

}

Page 19: Palestra collection google

Google CollectionsGoogle Collections

final Multimap<Integer, Fornecedor> multimap = ArrayListMultimap.create();

multimap.put(1, "Lui");multimap.put(2, "Wende");multimap.put(2, "Wende");multimap.put(2, "Wende");multimap.put(1, "Andre");multimap.put(2, "Bolha");

Console:1 = {Lui, André}2 = {Wende, Wende, Wende, Bolha}

Page 20: Palestra collection google

Google CollectionsGoogle Collections

final Multimap<Integer, String> multimap = HashMultimap.create();multimap.put(1, "Lui");multimap.put(2, "Bolha");multimap.put(2, "Wende");multimap.put(2, "Wende");multimap.put(2, "Wende");multimap.put(1, "Andre");

Console:1 = {André, Lui}2 = {Wende, Bolha}

Page 21: Palestra collection google

Google CollectionsGoogle Collections

final Multimap<Integer, String> multimap = LinkedHashMultimap.create();multimap.put(1, "Lui");multimap.put(2, "Bolha");multimap.put(2, "Wende");multimap.put(2, "Wende");multimap.put(2, "Wende");multimap.put(1, "Andre");

Console:1 = {Lui, André}2 = {Bolha, Wende}

Page 22: Palestra collection google

Google CollectionsGoogle Collections

final Multimap<Integer, String> multimap = TreeMultimap.create();multimap.put(1, "Lui");multimap.put(2, "Bolha");multimap.put(2, "Wende");multimap.put(2, "Wende");multimap.put(2, "Wende");multimap.put(1, "Andre");

Console:1 = {André, Lui}2 = {Bolha, Wende}

Page 23: Palestra collection google

Google CollectionsGoogle CollectionsAgora:

Multimap<Integer, String> multimap = ImmutableListMultimap.of(1, "Lui", 2, "Wende", 1, "China", 1, "Lui");

Console: 1 = { Lui, China, Lui } 2 = { Wende }

Page 24: Palestra collection google

Google CollectionsGoogle CollectionsAgora:

Multimap<Integer, String> multimap = ImmutableSetMultimap.of(1, "Lui", 2, "Wende", 1, "China", 1, "Lui");

Console: 1 = { Lui, China} 2 = { Wende }

Page 25: Palestra collection google

Google CollectionsGoogle Collections

MultisetsMultisets

Page 26: Palestra collection google

Google CollectionsGoogle Collections

- HashMultiset - LinkedHashMultiset

- TreeMultiset

- EnumMultiset

Page 27: Palestra collection google

Google CollectionsGoogle CollectionsAgora:

Multiset<String> nomes = HashMultiset.create();nomes.add("Wende");nomes.add("China", 3);nomes.add("Bolha");

Page 28: Palestra collection google

Google CollectionsGoogle Collections

for (final String nome : nomes) {System.out.println(nome);

}

O que será impresso ???

Page 29: Palestra collection google

Google CollectionsGoogle Collections

Console:

Wende, Bolha, China, China, China

Page 30: Palestra collection google

Google CollectionsGoogle Collections

System.out.println(nomes.elementSet());Console:

Wende, Bolha, China

System.out.println(nomes.count("China"));Console:

3

System.out.println(nomes.size());Console:

5

Page 31: Palestra collection google

Google CollectionsGoogle Collectionsenum Fornecedor {

BolhaPeixes, DouglasCafe}

final EnumMultiset<Fornecedor> fornecedores = EnumMultiset.create(Fornecedor.class);

fornecedores.add(Fornecedor.BolhaPeixes);fornecedores.add(Fornecedor.BolhaPeixes);fornecedores.add(Fornecedor.BolhaPeixes);fornecedores.add(Fornecedor.DouglasCafe);

System.out.println(fornecedores.elementSet());

Console:BolhaPeixes, DouglasCafe

Page 32: Palestra collection google

Google CollectionsGoogle Collections

Também tenho estas opções:

final Multiset<String> nomes = LinkedHashMultiset.create();

final Multiset<String> nomes = TreeMultiset.create();

Page 33: Palestra collection google
Page 34: Palestra collection google

ImagensImagens

http://www.flickr.com/photos/dannysullivan/272645770/http://www.flickr.com/photos/northbaywanderer/121971249/http://www.fl ickr.com/photos/colm/551068416/http://www.fl ickr.com/photos/vermininc/2335148856/http://www.fl ickr.com/photos/caveman_92223/3185534518/http://www.fl ickr.com/photos/fdecomite/2908653728/