Pengiraan Java HashMap ()

Kaedah Java HashMap compute () menghitung nilai baru dan mengaitkannya dengan kunci yang ditentukan dalam hashmap.

Sintaks compute()kaedahnya adalah:

 hashmap.compute(K key, BiFunction remappingFunction)

Di sini, hashmap adalah objek HashMapkelas.

mengira () Parameter

The compute()Cara mengambil masa 2 parameter:

  • key - key dengan mana nilai dikira akan dikaitkan
  • remappingFunction - fungsi yang mengira nilai baru untuk kekunci yang ditentukan

Nota : Fungsi remapping dapat mengambil dua argumen. Oleh itu, dianggap sebagai BiFunction.

hitung () Nilai Pulangan

  • mengembalikan nilai baru yang berkaitan dengan kunci
  • kembali nulljika tiada nilai yang dikaitkan dengan kunci

Catatan : Sekiranya hasil nullpemetaan semula fungsi, maka pemetaan untuk kunci yang ditentukan dikeluarkan.

Contoh: Pengiraan HashMap () untuk Memasukkan Nilai Baru

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap prices = new HashMap(); // insert entries to the HashMap prices.put("Shoes", 200); prices.put("Bag", 300); prices.put("Pant", 150); System.out.println("HashMap: " + prices); // recompute the value of Shoes with 10% discount int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100); System.out.println("Discounted Price of Shoes: " + newPrice); // print updated HashMap System.out.println("Updated HashMap: " + prices); ) )

Pengeluaran

 HashMap: (Seluar = 150, Beg = 300, Kasut = 200) Harga Diskaun Kasut: 180 HashMap Dikemas kini: (Seluar = 150, Beg = 300, Kasut = 180

Dalam contoh di atas, kami telah membuat hashmap bernama harga. Perhatikan ungkapan,

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

Di sini,

  • (kunci, nilai) -> nilai - nilai * 10/100 - Ini adalah ungkapan lambda. Ia mengurangkan nilai lama kasut sebanyak 10% dan mengembalikannya. Untuk mengetahui lebih lanjut mengenai ungkapan lambda, kunjungi Java Lambda Expressions.
  • Rates.compute () - Mengaitkan nilai baru yang dikembalikan oleh ekspresi lambda ke pemetaan untuk Kasut.

Kami telah menggunakan ekspresi lambda sebagai fungsi pemetaan semula yang menyusun dua parameter.

Catatan : Menurut dokumentasi rasmi Java, kaedah penggabungan HashMap () lebih sederhana daripada compute()kaedah.

Bacaan yang Disyorkan

  • HashMap computeIfAbsent () - mengira nilai jika kunci yang ditentukan tidak dipetakan ke nilai apa pun
  • HashMap computeIfPresent () - mengira nilai jika kunci yang ditentukan sudah dipetakan ke nilai

Artikel menarik...