8 collections-i

download 8 collections-i

If you can't read please download the document

Transcript of 8 collections-i

  • 1. Collections I

2. Arrays Problematicos? Tamanho pr-definido No redimensionaveis Procurar um elemento sem saber o seu indice Quantas posies j foram populadas 3. Collections Pacote java.util Classes e interfaces Estruturas de dados avanadas Resolver problemas comuns de maneira simples No reinventar a roda 4. Viso 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. Viso Geral Listas: java.util.Map java.util.HashMap java.util.TreeMap java.util.Hashtable 6. Listas Listas: java.util.List uma coleo que permite elementos duplicados emantm uma ordenao especfica entre os elementos. Resolve problemas em relao ao array (busca, remoo,tamanho infinito, ) Diversas implementaes disponveis, com formasdiferentes de representar uma lista 7. ArrayList java.util.ArrayList implements java.util.List Implementao mais utilizada Trabalha com um array interno para gerar uma lista Rpida em executar buscas ArrayList no um array 8. ArrayList Criar uma listaArrayList lista = new ArrayList() Tambm pode ser feito pela interface ListList lista = new ArrayList() Adicionar elementoslista.add(Primeiro)lista.add(2) 9. ArrayList Total elementos de uma listaSystem.out.println(lista.size()) Iterar sobre uma listafor (int i = 0; i < lista.size(); i++) {System.out.println(lista.get(i))} Outros metodos como: remove, contains, set, subList 10. Outras implementaes de List java.util.LinkedList implements java.util.List Outra implementao de java.util.List, bem parecida comArrayList, porm mais performatica na insero e remoode itens nas pontas da lista java.util.Vector implements java.util.List Implementao presente desde a verso 1.0, funcionalidadebastante parecida com o ArrayList Pensada para ser executada em ambientes concorrentes Perda de performance em ambientes no concorrentes 11. Outras implementaes de List Viso da Interface java.util.List e suas principaisimplementaes 12. Ordenao 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. Comparando Objetos precisam ser comparaveis Para o funcionamento do sort, existe um criterio decomparao que deve ser especificado Entra em ao a interface java.lang.Comparable Para poderem ser ordenados, os objetos devemimplementar a interface Comparable e sobrescrever ometodo compareTo() 14. Outros mtodos de Collections binarySearch(List, Object) max(Collection) min(Collection) reverse(List) Entre outros Relembrando a classe utilitaria de array, a java.util.Arrays 15. Duvidas?