Dalam tutorial ini, kita akan belajar mengenai antara muka Java ConcurrentMap dan kaedahnya.
The ConcurrentMap
muka 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 ConcurrentMap
merupakan antara muka, kita tidak dapat membuat objek daripadanya.
Untuk menggunakan fungsi ConcurrentMap
antara muka, kita perlu menggunakan kelas ConcurrentHashMap
yang melaksanakannya.
Bagaimana menggunakan ConcurrentMap?
Untuk menggunakan ConcurrentMap
, kita mesti mengimport java.util.concurrent.ConcurrentMap
pakej 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 ConcurrentMap
antara muka termasuk semua kaedah daripada Map
antara muka. Ini kerana Map
merupakan antara muka antara muka yang super ConcurrentMap
.
Selain semua kaedah tersebut, berikut adalah kaedah khusus untuk ConcurrentMap
antara 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.