Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MyClass{
- private final Map<(MyObj, Map<String, List<String>>> conMap = new ConcurrentHashMap<>();
- //...
- //adding new record into conMap:
- private void addToMap(MyObj id, String name, String value){
- conMap.putIfAbsent(id, new ConcurrentHashMap<>());
- Map<String, List<String>> subMap = conMap.get(id);
- synchronized(subMap){ // <-- is it necessary?
- subMap.putIfAbsent(name, new ArrayList<>());
- subMap.get(name).add(value);
- }
- }
- //...
- public void doSomthing((MyObj id){
- List<Map<String, List<String>>> mapsList = new LinkedList<>();
- for(MyObj objId: conMap.keySet()){ // <-- seems unnecessary..
- if(objId.equals(id)){
- mapsList.add(conMap.get(objId));
- }
- }
- for(Map<String, List<String>> map: mapsList){
- synchronized(map){ // <-- is it necessary?
- //do some stuff..
- }
- }
- //...
- }
- if(conMap.containsKey(id)){
- mapsLists.add(conMaps.get(id));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement