Interface Map - F4NT0/J4V4 GitHub Wiki

Retornar

Interface Map no Java

  • Os objetos Map confiam seus dados em um algoritmo hash

  • hash é um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo

  • hash é uma estrutura dedados chamada tabela de hash(serve para consulta de dados rápida)

  • A interface Map, como toda interface é um objeto que mapeia valores utilizando chaves

  • Através de uma chave consegue ser acessado o valor configurado, sendo que a chave não pode ser repetida ao contrário do valor

  • A interface Map possui as Seguintes subclasses Imagem do Map

  • Sintaxe da Interface Map

 Map<E> mapa = new Type();

//E é o objeto declarado,podendo ser classes ou tipo de coleção
//Type é o tipo de objeto da coleção a ser usado
  • Métodos usados na interface Map
nome utilidade
containsKey(Object) Serve para verificar se exite uma chave especifica dentro do Map
containsValue(Object) Serve para verificar se existe uma informação dentro do Map
get(Object key) serve para pegar um valor tendo como parâmetro a chave onde este valor esta salvo
keySet Serve para definir qual chave será usada
put(Key,Valor) Serve para adicionar informações dentro do Map, colocando como informações a chave que será usada e a informação em si que deseja armazenar
remove(key) Serve para remover a informação, passando como parametro a chave do elemento em si
values() é uma Collection com todos os valores que foram associados a alguma das chaves

Classe HashMap

  • Essa classe é a implementação da interface Map mais trabalhada no campo de desenvolvimento

  • Caracteristicas do HashMap:

    • Os elementos não são ordenados
    • É rápida na busca/inserção de dados
    • Permite inserir valores e chaves nulas
  • Sintaxe do HashMap:

HashMap<tipo da chave,tipo do conteudo> mapa = new HashMap<tipo da chave, tipo do conetudo>();

//Exemplo:
 HashMap<Integer,String> teste = new HashMap<Integer,String>();

  • Chamada do HashMap no código

    • import java.util.HashMap;
  • Exemplo de Uso do HashMap

import java.util.HashMap;
import java.util.Map;

public class HashMaps {
    public static void main(String[] args){
        //INICIANDO UM HASHMAP NOVO
        //Map<Chave,Informação> nomeMap = new HashMap<Chave,Informação>();
        Map<Integer,String> series = new HashMap<Integer,String>();

        //Adicionando valores no HashMap(aceita null)
        series.put(1,"Supernatural");
        series.put(2,"The Flash");
        series.put(3,"Spartacus");
        series.put(4,"Sense8");
        series.put(5,null);

        //Imprimindo um valor do HashMap
        System.out.println("Informação da chave 1: " + series.get(1));

        //Verificando se existe a chave no HashMap
        System.out.println("Existe chave 1? " + series.containsKey(1));

        //Verificando se existe a informação no HashMap
        System.out.println("Existe Supernatural? " + series.containsValue("Supernatural"));

        //Imprimindo o HashMap
        for(int i = 0 ; i < series.size() ; i++){
            System.out.println(series.get(i));
        }


    }
}

HashTable

  • Essa Classe trabalha com algoritmo hash para conversão das chaves e um mecanismo de pesquisa de valores, sendo que tem seus métodos sincronizados que permite checas acessos concorrentes e armazenagem
  • Possui também uma eficiente pesquisa de elementos baseados em chave-valor, mas não aceita valores nulos

HashTable mapa = new Type();

  • Código de exemplo de um HashTable
//Será usado como exemplo uma classe Cliente que possui como parâmetros um código e um nome

import java.util.Hashtable;
public class TesteHashTable{

 public static void main(String[] args){
   Cliente c1 = new Cliente(123,"Pedro");
   Cliente c2 = new Cliente(456,"Vnicius")

  //Utilizando o HashTable
  Hashtable<Integer, Cliente=""> ht = new Hashtable<Integer, Cliente="">();
   
  //Adicionando valores na HashTable
  ht.put(1,c1);
  ht.put(2,c2);

  //Imprimindo os valores 
  for(int i = 0 ; i < ht.size() ; i++){
    System.out.println(ht.get(i));
  }

  }


}