Antara Muka Java ConcurrentMap

Dalam tutorial ini, kita akan belajar mengenai antara muka Java ConcurrentMap dan kaedahnya.

The ConcurrentMapmuka rangka koleksi Java menyediakan peta thread selamat. Maksudnya, beberapa utas dapat mengakses peta sekaligus tanpa mempengaruhi konsistensi entri dalam peta.

ConcurrentMap dikenali sebagai peta yang disegerakkan.

Ia meluaskan antara muka Peta.

Kelas yang melaksanakan ConcurrentMap

Oleh kerana ConcurrentMapmerupakan antara muka, kita tidak dapat membuat objek daripadanya.

Untuk menggunakan fungsi ConcurrentMapantara muka, kita perlu menggunakan kelas ConcurrentHashMapyang melaksanakannya.

Bagaimana menggunakan ConcurrentMap?

Untuk menggunakan ConcurrentMap, kita mesti mengimport java.util.concurrent.ConcurrentMappakej terlebih dahulu. Sebaik sahaja kami mengimport pakej, inilah cara kami dapat membuat peta serentak.

 // ConcurrentMap implementation by ConcurrentHashMap CocurrentMap numbers = new ConcurrentHashMap(); 

Dalam kod di atas, kami telah membuat peta serentak bernama nombor.

Di sini,

  • Kunci - pengecam unik yang digunakan untuk mengaitkan setiap elemen (nilai) dalam peta
  • Nilai - elemen yang berkaitan dengan kunci dalam peta

Kaedah Peta Serentak

Yang ConcurrentMapantara muka termasuk semua kaedah daripada Mapantara muka. Ini kerana Mapmerupakan antara muka antara muka yang super ConcurrentMap.

Selain semua kaedah tersebut, berikut adalah kaedah khusus untuk ConcurrentMapantara muka.

  • putIfAbsent () - Memasukkan kunci / nilai yang ditentukan ke peta jika kunci yang ditentukan belum dikaitkan dengan nilai apa pun.
  • compute () - Mengira entri (pemetaan kunci / nilai) untuk kunci yang ditentukan dan nilai yang dipetakan sebelumnya
  • computeIfAbsent () - Mengira nilai menggunakan fungsi yang ditentukan untuk kunci yang ditentukan jika kunci belum dipetakan dengan nilai apa pun.
  • computeIfPresent () - Mengira entri baru (pemetaan kunci / nilai) untuk kunci yang ditentukan jika kunci sudah dipetakan dengan nilai yang ditentukan.
  • forEach () - Akses semua entri peta dan lakukan tindakan yang ditentukan.
  • penggabungan () - Menggabungkan nilai yang ditentukan baru dengan nilai lama kunci yang ditentukan jika kunci sudah dipetakan ke nilai tertentu. Sekiranya kunci belum dipetakan, kaedah hanya mengaitkan nilai yang ditentukan dengan kunci kami.

Untuk mengetahui lebih lanjut, kunjungi Java ConcurrentMap (dokumentasi Java rasmi).

Pelaksanaan ConcurrentMap dalam ConcurrentHashMap

 import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; class Main ( public static void main(String() args) ( // Creating ConcurrentMap using ConcurrentHashMap ConcurrentMap numbers = new ConcurrentHashMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("ConcurrentMap: " + numbers); // Access the value of specified key int value = numbers.get("One"); System.out.println("Accessed Value: " + value); // Remove the value of specified key int removedValue = numbers.remove("Two"); System.out.println("Removed Value: " + removedValue); ) ) 

Pengeluaran

 Peta serentak: (Satu = 1, Dua = 2, Tiga = 3) Nilai yang diakses: 1 Nilai yang Dihapus: 2 

Untuk mengetahui lebih lanjut mengenai ConcurrentHashMap, lawati Java ConcurrentHashMap.

Artikel menarik...