如何获取Map中值的大小?

时间:2016-06-08 12:52:11

标签: java arrays dictionary hashtable

我有一个我在程序开头加载的集合,我理所当然地认为我用作值的String数组总是具有相同的长度,对于所有条目,加上它至少包含1值。
从这些条目中,我需要获得我使用的数组的大小。截至目前,我这样做:

Map<String, String[]> people = new HashTable<>();
people.put("miao", new String[]{"bau","cip","muu"});
people.values().iterator().next().length; //returns 3

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

利用Guava的ListMultimap

ListMultimap<String, String> people = ArrayListMultimap.create();
people.putAll("miao", new ArrayList("bau","cip","muu");

people.get("miao").size();//returns 3

答案 1 :(得分:0)

根据@Eran(在评论中)我已在问题中回答了我自己的问题,因此,要获得Value的大小(如果它是一个数组),请执行:

Map<String, String[]> people = new HashTable<>();
people.put("miao", new String[]{"bau","cip","muu"});
people.values().iterator().next().length; //returns 3