TreeMultimap不允许空值或空值?

时间:2013-06-03 02:09:13

标签: java collections guava

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

我尝试过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

1 个答案:

答案 0 :(得分:2)

非常谨慎地Multimap如何运作。将空String和普通String放入Multimap完全没有区别,而Multimap会将没有任何值的关键视为完全不存在。请阅读番石榴维基中的Multimap Is Not A Map