为Map内的Set添加值

时间:2015-04-21 14:42:17

标签: java dictionary hashmap set hashset

如何在HashMap内的HashSet中添加值?

Map<String, Set<String>> myMap;

1 个答案:

答案 0 :(得分:3)

答案不简短,但很简单:

  1. get Set
  2. 确保它不是null
    如果它首先在地图中为空put
  3. 改变设置
    对集合的更改会自动反映在地图中。
  4. 代码:

    Set<String> theSet = myMap.get(aKey);
    if (theSet == null) {
        theSet = new HashSet<String>();
        myMap.put(aKey, theSet);
    }
    theSet.add(value);
    

    最佳使用方式如下:

    // ...
    
        Map<String, Set<String>> myMap = new HashMap<String, Set<String>>();
        addValue("myValue", "myKey", myMap);
    
    // ...
    
    
    private void addValue(String value, String key, Map<String, Set<String>> map) {
        Set<String> set = map.get(key);
        if (set == null) {
            set = new HashSet<String>();
            map.put(key, set);
        }
        set.add(value);
    }