Antarmuka Java ConcurrentMap

Dalam tutorial ini, kita akan belajar tentang antarmuka Java ConcurrentMap dan metodenya.

The ConcurrentMapantarmuka dari koleksi kerangka Java menyediakan peta benang-aman. Artinya, beberapa utas dapat mengakses peta sekaligus tanpa memengaruhi konsistensi entri dalam peta.

ConcurrentMap dikenal sebagai peta tersinkronisasi.

Ini memperluas antarmuka Peta.

Kelas yang mengimplementasikan ConcurrentMap

Karena ConcurrentMapantarmuka, kita tidak dapat membuat objek darinya.

Untuk menggunakan fungsionalitas ConcurrentMapantarmuka, kita perlu menggunakan kelas ConcurrentHashMapyang mengimplementasikannya.

Bagaimana cara menggunakan ConcurrentMap?

Untuk menggunakan ConcurrentMap, kita harus mengimpor java.util.concurrent.ConcurrentMappaketnya terlebih dahulu. Setelah kami mengimpor paket, berikut cara kami membuat peta bersamaan.

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

Dalam kode di atas, kami telah membuat peta bersamaan bernama angka.

Sini,

  • Kunci - pengenal unik yang digunakan untuk mengaitkan setiap elemen (nilai) di peta
  • Nilai - elemen yang terkait dengan kunci di peta

Metode ConcurrentMap

The ConcurrentMapantarmuka mencakup semua metode yang Mapantarmuka. Itu karena Mapantarmuka super ConcurrentMapantarmuka.

Selain semua metode tersebut, berikut adalah metode khusus untuk ConcurrentMapantarmuka.

  • putIfAbsent () - Menyisipkan kunci / nilai yang ditentukan ke peta jika kunci yang ditentukan belum dikaitkan dengan nilai apa pun.
  • compute () - Menghitung entri (pemetaan kunci / nilai) untuk kunci tertentu dan nilai yang dipetakan sebelumnya.
  • computeIfAbsent () - Menghitung nilai menggunakan fungsi yang ditentukan untuk kunci yang ditentukan jika kunci belum dipetakan dengan nilai apa pun.
  • computeIfPresent () - Menghitung 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.
  • merge () - Menggabungkan nilai baru yang ditentukan dengan nilai lama dari kunci yang ditentukan jika kunci sudah dipetakan ke nilai tertentu. Jika kunci belum dipetakan, metode ini hanya mengaitkan nilai yang ditentukan ke kunci kita.

Untuk mempelajari lebih lanjut, kunjungi Java ConcurrentMap (dokumentasi resmi Java).

Implementasi ConcurrentMap di 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); ) ) 

Keluaran

 ConcurrentMap: (One = 1, Two = 2, Three = 3) Accessed Value: 1 Removed Value: 2 

Untuk mempelajari lebih lanjut ConcurrentHashMap, kunjungi Java ConcurrentHashMap.

Artikel yang menarik...