8 collections-i

279 views
235 views

Published on

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

  • Be the first to like this

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

No notes for slide

8 collections-i

  1. 1. Collections I
  2. 2. Arrays● Problematicos?● Tamanho pré-definido● Não redimensionaveis● Procurar um elemento sem saber o seu indice● Quantas posições já foram populadas
  3. 3. Collections● Pacote java.util● Classes e interfaces● Estruturas de dados avançadas● Resolver problemas comuns de maneira simples● Não reinventar a roda
  4. 4. Visão Geral● Listas: java.util.List ● java.util.ArrayList ● java.util.LinkedList ● java.util.Vector● Conjuntos: java.util.Set ● java.util.HashSet ● java.util.LinkedHashSet ● java.util.TreeSet
  5. 5. Visão Geral● Listas: java.util.Map ● java.util.HashMap ● java.util.TreeMap ● java.util.Hashtable
  6. 6. Listas● Listas: java.util.List● É uma coleção que permite elementos duplicados e mantém uma ordenação específica entre os elementos.● Resolve problemas em relação ao array (busca, remoção, tamanho “infinito”, …)● Diversas implementações disponíveis, com formas diferentes de representar uma lista
  7. 7. ArrayList● java.util.ArrayList implements java.util.List● Implementação mais utilizada● Trabalha com um array interno para gerar uma lista● Rápida em executar buscas● ArrayList não é um array
  8. 8. ArrayList● Criar uma lista ArrayList lista = new ArrayList()● Também pode ser feito pela interface List List lista = new ArrayList()● Adicionar elementos lista.add(“Primeiro”) lista.add(2)
  9. 9. ArrayList● Total elementos de uma lista System.out.println(lista.size())● Iterar sobre uma lista for (int i = 0; i < lista.size(); i++) { System.out.println(lista.get(i)) }● Outros metodos como: remove, contains, set, subList
  10. 10. Outras implementações de List● java.util.LinkedList implements java.util.List● Outra implementação de java.util.List, bem parecida com ArrayList, porém mais performatica na inserção e remoção de itens nas pontas da lista● java.util.Vector implements java.util.List● Implementação presente desde a versão 1.0, funcionalidade bastante parecida com o ArrayList● Pensada para ser executada em ambientes concorrentes● Perda de performance em ambientes não concorrentes
  11. 11. Outras implementações de List● Visão da Interface java.util.List e suas principais implementações
  12. 12. Ordenação● java.util.Collections.sort() List lista = new ArrayList(); lista.add(“Thiago”); lista.add(“Guilherme”); lista.add(“Pedro”); System.out.println(lista) Collections.sort(lista) System.out.println(lista)
  13. 13. Comparando● Objetos precisam ser comparaveis● Para o funcionamento do sort, existe um criterio de comparação que deve ser especificado● Entra em ação a interface java.lang.Comparable● Para poderem ser ordenados, os objetos devem implementar a interface Comparable e sobrescrever o metodo compareTo()
  14. 14. Outros métodos de Collections● binarySearch(List, Object)● max(Collection)● min(Collection)● reverse(List)● Entre outros● Relembrando a classe utilitaria de array, a java.util.Arrays
  15. 15. Duvidas?

×