映射功能限制?

时间:2014-05-10 07:54:08

标签: java mapping

我正在以Map<Route, List<Service>> read(String fileName)

的格式映射时间表

我可以在同一个键上有多个列表吗?例如:

timeTable.put(route66,["32","55","33","12","15"]);
timeTable.put(route66,["66","5","33","43","77"]);
timeTable.put(route66,["12","56","33","67","35"]);

3 个答案:

答案 0 :(得分:2)

不,contract for Map明确指出:

  

地图不能包含重复的键;每个键最多可以映射一个值。

此外,您的代码并不接近有效的Java,因为数组不是List,而且这些是字符串,而不是Service可能是什么。

然而,您可能会对Guava的Multimap感兴趣,这实际上是从键到值集合的映射。

答案 1 :(得分:0)

不,你不能,地图键是唯一的。在您的情况下,最后一个值将覆盖其他值。 您可能想要做的是拥有像Map<Route, List<String[]>>这样的地图。这意味着您拥有的任何条目都将包含一个String数组列表

答案 2 :(得分:0)

不,你不能。但您可以为同一个密钥保留列表清单:

Map<Route, List<List<Service>>>