У овом упутству ћемо научити о интерфејсу Јава ЦонцуррентМап и његовим методама.
ConcurrentMap
Интерфејс збирки оквира Јава даје мапу тхреад-сигурно. То јест, више нити може истовремено приступити мапи без утицаја на доследност уноса на мапи.
ConcurrentMap
је познат као синхронизована мапа.
Проширује интерфејс Мап.
Класа која имплементира ЦонцуррентМап
Пошто ConcurrentMap
је интерфејс, не можемо од њега стварати објекте.
Да бисмо користили функционалности ConcurrentMap
интерфејса, морамо да користимо класу ConcurrentHashMap
која га примењује.
Како користити ЦонцуррентМап?
Да бисмо користили ConcurrentMap
, прво морамо да увозимо java.util.concurrent.ConcurrentMap
пакет. Једном када увозимо пакет, ево како можемо створити истовремену мапу.
// ConcurrentMap implementation by ConcurrentHashMap CocurrentMap numbers = new ConcurrentHashMap();
У горњем коду створили смо истовремену мапу названу бројеви.
Ево,
- Кључ - јединствени идентификатор који се користи за повезивање сваког елемента (вредности) на мапи
- Вредност - елементи повезани кључевима на мапи
Методе ЦонцуррентМап
ConcurrentMap
Интерфејс укључује све методе Map
интерфејса. То је зато што Map
је супер интерфејс ConcurrentMap
интерфејса.
Поред свих тих метода, овде су и методе специфичне за ConcurrentMap
интерфејс.
- путИфАбсент () - Убацује наведени кључ / вредност у мапу ако наведени кључ већ није повезан са било којом вредношћу.
- цомпуте () - Израчунава унос (мапирање кључа / вредности) за наведени кључ и његову претходно мапирану вредност.
- цомпутеИфАбсент () - Израчунава вредност користећи наведену функцију за наведени кључ ако кључ већ није мапиран са било којом вредношћу.
- цомпутеИфПресент () - Израчунава нови унос (мапирање кључа / вредности) за наведени кључ ако је кључ већ мапиран са наведеном вредношћу.
- форЕацх () - Приступите свим уносима мапе и извршите наведене радње.
- мерге () - Спаја нову наведену вредност са старом вредношћу наведеног кључа ако је кључ већ мапиран на одређену вредност. Ако кључ већ није мапиран, метода једноставно придружује наведену вредност нашем кључу.
Да бисте сазнали више, посетите Јава ЦонцуррентМап (званична Јава документација).
Имплементација ЦонцуррентМап у ЦонцуррентХасхМап
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); ) )
Оутпут
ЦонцуррентМап: (Оне = 1, Тво = 2, Тхрее = 3) Приступљена вредност: 1 Уклоњена вредност: 2
Да бисте сазнали више о томе ConcurrentHashMap
, посетите Јава ЦонцуррентХасхМап.