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
-
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));
}
}
}