【问题标题】:How to create a Guava HashMultiset from a Map<String, Object>如何从 Map<String, Object> 创建 Guava HashMultiset
【发布时间】:2018-08-17 13:11:21
【问题描述】:

这不能编译:

Map<String, Object> map = new HashMap<String, Object>();
HashMultiset<Map<String, Object>> n1Properties = HashMultiset.create(map);      

【问题讨论】:

    标签: java guava


    【解决方案1】:

    重载的create 方法都不接受Map。但是你可以使用addAll方法将Map转换成Collection

    import com.google.common.collect.HashMultiset;
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.Map;
    
    public class SO {
    
        public static void main(String args[]) {
            Map<String, Object> map = new HashMap<>();
            map.put("foo", "FOO");
            map.put("bar", "BAR");
    
            HashMultiset<Map<String, Object>> n1Properties = HashMultiset.create();
            n1Properties.addAll(Collections.singleton(map));
    
            System.out.println(n1Properties);
        }
    
    }
    

    输出:

    [{bar=BAR, foo=FOO}]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 2022-08-02
      • 2013-06-16
      相关资源
      最近更新 更多