logo

Classe Hashtable Java

A classe Java Hashtable implementa uma hashtable, que mapeia chaves para valores. Ele herda a classe Dictionary e implementa a interface Map.

Pontos para lembrar

  • Um Hashtable é um array de uma lista. Cada lista é conhecida como balde. A posição do bucket é identificada chamando o método hashcode(). Uma Hashtable contém valores baseados na chave.
  • A classe Java Hashtable contém elementos exclusivos.
  • A classe Java Hashtable não permite chave ou valor nulo.
  • A classe Java Hashtable é sincronizada.
  • A capacidade padrão inicial da classe Hashtable é 11, enquanto loadFactor é 0,75.

Declaração de classe hashtable

Vamos ver a declaração da classe java.util.Hashtable.

 public class Hashtable extends Dictionary implements Map, Cloneable, Serializable 

Parâmetros da classe hashtable

Vamos ver os parâmetros da classe java.util.Hashtable.

    K: É o tipo de chaves mantidas por este mapa.EM: É o tipo de valores mapeados.

Construtores da classe Java Hashtable

ConstrutorDescrição
Tabela hash()Ele cria uma tabela hash vazia com capacidade e fator de carga padrão iniciais.
Tabela hash (capacidade interna)Ele aceita um parâmetro inteiro e cria uma tabela hash que contém uma capacidade inicial especificada.
Hashtable(int capacidade, float loadFactor)É usado para criar uma tabela hash com capacidade inicial e loadFactor especificados.
Tabela hash (Mapa t)Ele cria uma nova tabela hash com os mesmos mapeamentos do mapa fornecido.

Métodos da classe Java Hashtable

MétodoDescrição
vazio claro()É usado para redefinir a tabela hash.
Clone de objeto()Ele retorna uma cópia superficial do Hashtable.
V computar (tecla K, função de remapeamento BiFunction)É usado para calcular um mapeamento para a chave especificada e seu valor mapeado atual (ou nulo se não houver mapeamento atual).
V computaIfAbsent (tecla K, função de mapeamentoFunction)É usado para calcular seu valor usando a função de mapeamento fornecida, se a chave especificada ainda não estiver associada a um valor (ou estiver mapeada para nulo) e inseri-la neste mapa, a menos que seja nula.
V computaIfPresent (tecla K, função de remapeamento BiFunction)É usado para calcular um novo mapeamento dada a chave e seu valor mapeado atual se o valor da chave especificada estiver presente e não for nulo.
Elementos de enumeração()Ele retorna uma enumeração dos valores na tabela hash.
Definirconjunto de entrada()Ele retorna uma visualização definida dos mapeamentos contidos no mapa.
booleano é igual (objeto o)É usado para comparar o objeto especificado com o mapa.
void forEach (ação BiConsumer)Ele executa a ação especificada para cada entrada no mapa até que todas as entradas tenham sido processadas ou a ação gere uma exceção.
V getOrDefault (chave do objeto, V defaultValue)Ele retorna o valor para o qual a chave especificada está mapeada ou defaultValue se o mapa não contiver nenhum mapeamento para a chave.
int hashCode()Ele retorna o valor do código hash para o mapa
Chaves de enumeração()Ele retorna uma enumeração das chaves na tabela hash.
Definir keySet()Ele retorna uma visualização Set das chaves contidas no mapa.
Mesclagem V (chave K, valor V, função de remapeamento BiFunction)Se a chave especificada ainda não estiver associada a um valor ou estiver associada a nulo, associa-a ao valor não nulo fornecido.
V colocar (chave K, valor V)Ele insere o valor especificado com a chave especificada na tabela hash.
void putAll(Mapa t))É usado para copiar todos os pares de valores-chave do mapa para a tabela hash.
V putIfAbsent(chave K, valor V)Se a chave especificada ainda não estiver associada a um valor (ou estiver mapeada para nulo), associa-a ao valor fornecido e retorna nulo, caso contrário, retorna o valor atual.
remoção booleana (chave do objeto, valor do objeto)Ele remove os valores especificados com as chaves especificadas associadas da tabela hash.
Substituição V (tecla K, valor V)Ele substitui o valor especificado por uma chave especificada.
substituição booleana (tecla K, V oldValue, V newValue)Ele substitui o valor antigo pelo novo valor de uma chave especificada.
void replaceAll (função BiFunction)Ele substitui o valor de cada entrada pelo resultado da invocação de uma determinada função nessa entrada até que todas as entradas tenham sido processadas ou a função gere uma exceção.
String paraString()Ele retorna uma representação em string do objeto Hashtable.
Valores de coleção()Ele retorna uma visão de coleção dos valores contidos no mapa.
booleano contém (valor do objeto)Este método retorna verdadeiro se algum valor igual ao valor existir na tabela hash, caso contrário, retorna falso.
booleano contémValue (valor do objeto)Este método retorna verdadeiro se algum valor igual ao valor existir na tabela hash, caso contrário, retorna falso.
booleano contémKey (chave do objeto)Este método retorna verdadeiro se alguma chave igual à chave existir na tabela hash, caso contrário, retorna falso.
booleano isEmpty()Este método retorna verdadeiro se a tabela hash estiver vazia; retorna falso se contiver pelo menos uma chave.
repetição de vazio protegido()Ele é usado para aumentar o tamanho da tabela hash e refazer todas as suas chaves.
V get (chave do objeto)Este método retorna o objeto que contém o valor associado à chave.
V remover (chave do objeto)É usado para remover a chave e seu valor. Este método retorna o valor associado à chave.
tamanho interno()Este método retorna o número de entradas na tabela hash.

Exemplo de tabela hash Java

 import java.util.*; class Hashtable1{ public static void main(String args[]){ Hashtable hm=new Hashtable(); hm.put(100,'Amit'); hm.put(102,'Ravi'); hm.put(101,'Vijay'); hm.put(103,'Rahul'); for(Map.Entry m:hm.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 
Teste agora

Saída:

 103 Rahul 102 Ravi 101 Vijay 100 Amit 

Exemplo de tabela hash Java: remove()

 import java.util.*; public class Hashtable2 { public static void main(String args[]) { Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Before remove: '+ map); // Remove value for key 102 map.remove(102); System.out.println('After remove: '+ map); } } 

Saída:

 Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit} 

Exemplo de tabela hash Java: getOrDefault()

 import java.util.*; class Hashtable3{ public static void main(String args[]){ Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Here, we specify the if and else statement as arguments of the method System.out.println(map.getOrDefault(101, 'Not Found')); System.out.println(map.getOrDefault(105, 'Not Found')); } } 

Saída:

 Vijay Not Found 

Exemplo de tabela hash Java: putIfAbsent()

 import java.util.*; class Hashtable4{ public static void main(String args[]){ Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Initial Map: '+map); //Inserts, as the specified pair is unique map.putIfAbsent(104,'Gaurav'); System.out.println('Updated Map: '+map); //Returns the current value, as the specified pair already exist map.putIfAbsent(101,'Vijay'); System.out.println('Updated Map: '+map); } } 

Saída:

 Initial Map: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} Updated Map: {104=Gaurav, 103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} Updated Map: {104=Gaurav, 103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} 

Exemplo de hashtable Java: livro

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class HashtableExample { public static void main(String[] args) { //Creating map of Books Map map=new Hashtable(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to map map.put(1,b1); map.put(2,b2); map.put(3,b3); //Traversing map for(Map.Entry entry:map.entrySet()){ int key=entry.getKey(); Book b=entry.getValue(); System.out.println(key+' Details:'); System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Saída:

 3 Details: 103 Operating System Galvin Wiley 6 2 Details: 102 Data Communications & Networking Forouzan Mc Graw Hill 4 1 Details: 101 Let us C Yashwant Kanetkar BPB 8