Dalam tutorial ini, kita akan belajar tentang antarmuka Java ConcurrentMap dan metodenya.
The ConcurrentMap
antarmuka 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 ConcurrentMap
antarmuka, kita tidak dapat membuat objek darinya.
Untuk menggunakan fungsionalitas ConcurrentMap
antarmuka, kita perlu menggunakan kelas ConcurrentHashMap
yang mengimplementasikannya.
Bagaimana cara menggunakan ConcurrentMap?
Untuk menggunakan ConcurrentMap
, kita harus mengimpor java.util.concurrent.ConcurrentMap
paketnya 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 ConcurrentMap
antarmuka mencakup semua metode yang Map
antarmuka. Itu karena Map
antarmuka super ConcurrentMap
antarmuka.
Selain semua metode tersebut, berikut adalah metode khusus untuk ConcurrentMap
antarmuka.
- 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.