GoConqr has a new look! Let us know what you think.

Mind map

Genéricos e Coleções

Cesar gomide Estudo SCJP SCJP 7 Portuguese

Map content

Genéricos e Coleções

  1. Sobrescrevendo HasCode e equals

    • equals,hashCode,toString são públic
    • Sobrescreva toString para obter o estado do Objeto
    • == duas variaveis de referencia apontam para o mesmo objeto
    • Use equals para ver se 2 objetos são equivalentes
    • Não sobrescrever equals = objetos não serão chaves úteis hashing
    • Não sobrescrever equals = 2 objetos diferentes não podem ser iguais
    • Classes String e Wrapper sobrescrevem equals e se tornam chaves adequadas hashing
    • Sobrescrever equals use instaceof para avaliar a Classe correta
    • Sobrescrever equals compare os atributos signficativos dos objetos
    • Se sobrescrever equals sobrescreva hasCode
    • Se dois objetos forem iguais = código hashing também serão
    • válido método hasCode retorne o mesmo valor para todas instâncias(na prática seja ineficiente)
    • variáveis transient não são apropriadas para equals e hascode
  2. Coleções

    • Coleção = estrutura de dados na qual objetos são armazenados
    • Collections = Classe que armazena métodos estáticos para coleções
    • Collection = java.util.Collection = Interface estendida por Set e List
    • Coleções = 4 versões
      • Lists de Ítens:Ordenada,repetição permitida com um índice
      • Sets de ítens : Podem ou não ser ordenados e/ou classificadose e a repetição não é permitida
      • Maps de Itens : com chaves: Podem ou não ser ordenados e/ou classificados e a repetição de chaves não é permitida
      • Queues de ítens : ordenados por FIFO ou por prioridade
    • 4 subversões das coleções : classificada,não-classificada,ordenada e não -ordenada
      • Ordenada: ordem específica não aleatória
      • Classificado : ordem classificada estabelecida
  3. Atributos das Classes de Coleção

    • Vector :lento,métodos sincronizados
    • HashSet :não permite duplicatas, sem ordenação
    • HashMap: atualiza mais rápido,chave null e muitos valores null
    • LinkedList: inserção de elementos ao final : pilhas e filas
    • ArrayList : iteração e acesso aleatório rápidos
    • LinkedHashSet : Sem duplicatas, itera por ordem de inserção
    • TreeSet: Sem duplicatas, itera na ordem de classificação
    • HashTable : mais lento, nenhum valor ou chave null é permitido
    • LInkedHasMap : ordem de inserção, permite chave/valor null
    • TreeMap : Um mapa classificado
    • PriorityQueue : lista ordenada pela prioridade dos Elementos
  4. Classes de Coleções

    • next() retorna o elemento seguinte e move o Iterator adiante
    • hasNext() verifica se há mais elementos; o Iterator não se move
    • Loop for aprimorado ou com Iterator via hasNext() e next()
    • Só armazena objects,mas pode boxing de primitivos
    • TreeSet, TreeMaps = floor() e higher()
    • Filas usam offer = adicionar, poll() remove o 1 da fila, peek() ve o 1 da fila
    • Chaves Map devem sobrescrever equals e hasCode
    • Possível sub-cópias vinculadas de TreeSet e TreeMap
  5. Arrays e LIstas

    • Classificação na ordem natural ou com Comparable ou vários Comparators
    • Comparable implementado com compareTo(), ordem de classificação
    • Comparators classifica classe, implemente compare()
    • Para ser pesquisado,Array ou List deve ser classificado primeiro
    • List classificado e pesquisado, implementar comparable
  6. Classes Collections e Arrays

    • Fornecem : método sort()/ Classifica com comparator ou usando ordem natural
    • Collections.reverseOrder() retorna Comparator que classifica ao Contrário
    • Ambas de java.util
    • Arrays.asList() = cria um List a partir de um Array
    • Lists e Sets tem método to Array() = cria arrays
    • Collections.reverse() = inverte a ordem dos elementos de um List
    • método binarySearch / Busca em Array ou List pré-classificado
  7. Genéricos

    • Lhe permitem forçar a segurança de tipos em tempo de compilação
    • ArrayList<Animal> aceita tipo Dog,Cat etc
    • Pode passar coleção genérica para uma não genérica (resultados desastrosos)
    • Coleções genéricas = sem cast
      • Coleções não genéricas = com cast
    • Copilar sem erros, mas pode compilar com avisos
    • Genéricos com código antigo pode gerar exceção em tempo de execução
    • List<?> qualquer tipo genérico pode ser atribuido a referencia,apenas para acesso
    • T para o tipo e E para o elemento
    • Declarar um tipo (T) usado em declaração de classes, métodos e variáveis
    • Pode declarar mais de 1 tipo em uma declaração = public class UseTwo<T,X>

Information

Description
SCJP 7 Estudo SCJP (Genérico e Coleções) Mind Map on Genéricos e Coleções, created by Cesar gomide on 09/05/2016.
Created by
Cesar gomide
Views
4
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?