Ebben az oktatóanyagban megismerhetjük a Java ConcurrentMap felületet és annak módszereit.
A ConcurrentMap
Java gyűjtemények keretrendszere egy szálbiztos térképet biztosít. Vagyis több szál egyszerre férhet hozzá a térképhez anélkül, hogy befolyásolná a bejegyzések konzisztenciáját a térképen.
ConcurrentMap
szinkronizált térképként ismert.
Kiterjeszti a Map felületet.
A ConcurrentMap megvalósító osztály
Mivel ConcurrentMap
ez egy felület, nem hozhatunk létre belőle objektumokat.
A ConcurrentMap
felület funkcionalitásának használatához azt az osztályt kell használnunk, ConcurrentHashMap
amely megvalósítja azt.
Hogyan kell használni a ConcurrentMap-ot?
A használatához először ConcurrentMap
importálnunk kell a java.util.concurrent.ConcurrentMap
csomagot. A csomag importálása után a következőképpen készíthetünk egyidejű térképet.
// ConcurrentMap implementation by ConcurrentHashMap CocurrentMap numbers = new ConcurrentHashMap();
A fenti kódban létrehoztunk egy párhuzamos térképet, amelynek neve szám volt.
Itt,
- Kulcs - egyedi azonosító, amelyet a térkép minden elemének (értékének) társításához használnak
- Érték - kulcsok által társított elemek a térképen
A ConcurrentMap módszerei
Az ConcurrentMap
interfész az interfész összes módszerét tartalmazza Map
. Ez azért van, mert Map
a felület szuper ConcurrentMap
felülete.
Mindezen módszerek mellett itt vannak az ConcurrentMap
interfészre jellemző módszerek .
- putIfAbsent () - Beszúrja a megadott kulcsot / értéket a térképbe, ha a megadott kulcs még nincs társítva semmilyen értékhez.
- compute () - Beírást (kulcs / érték leképezést) számol a megadott kulcshoz és annak korábban leképezett értékéhez.
- computeIfAbsent () - A megadott függvény használatával kiszámítja az értéket a megadott kulcshoz, ha a kulcs még nincs hozzárendelve értékkel.
- computeIfPresent () - Új bejegyzést (kulcs / érték leképezés) számol a megadott kulcshoz, ha a kulcs már hozzárendelve van a megadott értékhez.
- forEach () - Hozzáférés a térkép összes bejegyzéséhez és a megadott műveletek végrehajtása.
- egyesítés () - Egyesíti az új megadott értéket a megadott kulcs régi értékével, ha a kulcs már hozzárendelve van egy bizonyos értékhez. Ha a kulcs még nincs leképezve, akkor a módszer egyszerűen társítja a megadott értéket a kulcsunkhoz.
További információkért látogasson el a Java ConcurrentMap oldalra (hivatalos Java dokumentáció).
A ConcurrentMap megvalósítása a ConcurrentHashMap alkalmazásban
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); ) )
Kimenet
ConcurrentMap: (egy = 1, kettő = 2, három = 3) Hozzáférési érték: 1 eltávolított érték: 2
További információért ConcurrentHashMap
látogasson el a Java ConcurrentHashMap oldalra.