English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Java

Java Controle de Fluxo

Java Array

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceção Java

Java Lista (List)

Java Fila (Queue)

Java Mapa (Map)

Java Conjunto (Set)

Java Entrada e Saída (I/O)

Java Reader/Writer

Outros tópicos do Java

Uso e exemplo do método compute() do Java HashMap

Métodos HashMap

O método compute() do Java HashMap calcula um novo valor e o asocia com a chave especificada no mapeamento.

A sintaxe do método compute() é:

hashmap.compute(K key, BiFunction remappingFunction)

Parâmetros da compute()

O método compute() da compute() tem dois parâmetros:

  • key - chave associada ao valor calculado

  • função de remapeamento - paraChaveFunção de cálculo de novo valor

Atenção:A função de cálculo de novo valor pode aceitar dois parâmetros.

Retorno do valor da compute()

  • Retorna o novo valor associado à chave

  • Se não houver valor associado à chave, retorna null

Atenção:Se o resultado da função de remapeamento for null, a chave especificada será removidaChavedo mapeamento.

Exemplo: Inserção de novo valor no HashMap compute()

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    //Criar HashMap
    HashMap<String, Integer> prices = new HashMap<>();
    //Inserir itens no HashMap
    prices.put("Shoes", 200);
    prices.put("Bag", 300);
    prices.put("Pant", 150);
    System.out.println("HashMap: " + prices);
    //com10recalcula o preço do sapato com um desconto de %
    int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
    System.out.println("desconto do preço do sapato: " + newPrice);
    //Imprimir o HashMap atualizado
    System.out.println("HashMap atualizado: " + prices);
  }
}

Resultados de saída

HashMap: {Pant=150, Bag=300, Shoes=200}
desconto do preço do sapato: 180
HashMap atualizado: {Pant=150, Bag=300, Shoes=180

No exemplo acima, criamos um mapeamento chamado prices. Observe a expressão

prices.compute("Shoes", (key, value) -> value - value * 10/100)

Aqui,

  • (key, value) -> value - value * 10/100 -  Esta é uma expressão lambda. Ela reduz o preço original do sapato10% e retorne. Para mais informações sobre expressões lambda, visiteExpressões Lambda Java.

  • prices.compute() - Associar o novo valor retornado pela expressão lambda ao mapeamento de Shoes

AtençãoSegundo a documentação oficial do Java,HashMap merge()O método é mais simples do que o método compute()

Leia Mais Recomendado

Métodos HashMap