1

我想要重复值+自然顺序+空,哪个集合支持这些功能?

我已经尝试过 Multihashmap 和 TreeMultimap。Treemultimap 不允许空值,即使我有键,但它允许...

public static void main(String[] args) { 
    TreeMultimap<String, String> mp = TreeMultimap.create();
    StringBuilder b = new StringBuilder();
    mp.put("a", "10"); 
    mp.put("a", "11"); 
    mp.put("a", "12"); 
    mp.put("b", "13"); 
    mp.put("c", "14"); 
    mp.put("e", "");
    mp.put("b", "1");
    mp.put("b", "2");
    mp.put("b", "3");
    List list = null; 
    for(String key : mp.keySet())  
    {
        System.out.println("mp.values()"+mp.values());
        int itemcount = mp.size();
        System.out.println(itemcount);

    }

预期的输出格式为

a 10 11 12 
a 10 11 12
a 10 11 12
b 13 1 2 3
b 13 1 2 3
b 13 1 2 3
b 13 1 2 3
c 14
e
4

1 回答 1

2

这是非常刻意的Multimap工作方式。将空值String和法线String放入 aMultimap中没有任何区别,并且 aMultimap会将没有任何值的键视为完全不存在。请阅读Guava wiki 中的MultimapIs Not A。Map

于 2013-06-03T15:16:22.653 回答