Sobes.tech
Junior — Middle

Чӣ гуна сохтори маълумоти Map бехатар барои сӯрохиҳо дар муҳити бисёрсӯрохиҳо амалӣ кардан мумкин аст?

sobes.tech AI

Ҷавоб аз AI

Барои татбиқи сохтори маълумоти бехатар барои ҷараён дар Java, шумо метавонед синфи ConcurrentHashMap-ро аз баста java.util.concurrent истифода баред. Он дастрасӣ ва тағиротро самаранок дар муҳити бисёрҷараён таъмин мекунад, бидуни ниёз ба синхронизатсияи беруна.

Маслиҳат барои истифода:

import java.util.concurrent.ConcurrentHashMap;

ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();

// Илова кардани унсур
map.put("key", 1);

// Гирифтани унсур
Integer value = map.get("key");

// Навсозии бехатарии арзиш
map.computeIfPresent("key", (k, v) -> v + 1);

Алтернатива, шумо метавонед Collections.synchronizedMap(new HashMap<>())-ро истифода баред, аммо ConcurrentHashMap одатан барои рақобати баландтар интихоб мешавад.