您好我想实现一个Hash映射,它将特定Date映射到一个int数组。数组的大小是32
我试过这个并编译:
HashMap<Date,int[]> coord_map = new HashMap<Date, int[]>();
但我不确定这是如何工作的,因为我没有给出整数数组的大小。
我也厌倦了这一点:
int[] arr = new int[32];
for(int i =0; i <32; i++){
arr[i] = 0; // initialize the array to 0.
}
HashMap<Date, arr> attraction_date = new HashMap<Date, arr>();
这给了我一个编译器错误“找不到名为arr的类或类型”
谢谢
我现在有一个后续问题:
我成功使用了一个哈希映射,它接受一个日期并将其映射到一个int数组。 现在我想使用这个hashmap的多个实例。由于我的项目涉及主题公园数据,因此每个景点都会有一个哈希图 那么我该如何实现哈希映射的数组列表呢?要跟踪20个景点? 如果有人可以向我展示一个示例设置代码,那么初始化所有内容,这将是有帮助的。
再次感谢你,
答案 0 :(得分:4)
这取决于你做了什么。如果问题要求您有一个正好为32 整数的数组,那么创建一个包装类IntArray32并使用HashMap<Date, IntArray32>
。否则你所写的内容将起作用,它只会让你拥有任何大小的int数组作为值。
答案 1 :(得分:3)
您拥有的最好的是,您不需要指定尺寸。 这将有效
Map<Date, int[]> coordMap = new HashMap<Date, int[]>();
coordMap.put(aDate, new int[]{1,2});
coordMap.put(anotherDate, new int[]{3,4,5,6});
...
因此每个值int[]
可以有不同的大小。