【问题标题】:Creating a Generic HashMap Array创建一个通用 HashMap 数组
【发布时间】:2015-09-28 00:32:04
【问题描述】:

对于如下所述的家庭作业:

在本作业中,您将使用外部链接冲突策略实现键值哈希映射。一个 哈希映射将键映射到值,并允许在已知键时对值进行 O(1) 平均大小写查找。 此哈希映射必须由初始大小为 11 的数组支持,并且在 表超过(大于、不大于或等于)负载因子 0.67。必须调整数组大小 在新键(不管它是否重复)被实际添加到数组中之前。这 负载因子和初始大小值在界面中作为常量提供,应在 你的代码。

我们得到了一个已经编写好的 MapEntry 类,以及一个要编写的 HashMap 类。我将如何初始化这个数组?由于泛型情况,private MapEntry<K, V>[] table = new MapEntry<>[STARTING_SIZE]; 不起作用。

【问题讨论】:

  • 数组或hashmap,是哪一个?他们不一样
  • @TimCastelijns 一个由数组支持的 HashMap,我们不能使用 Java 对象
  • @laune 您将使用外部链接冲突策略实现键值哈希映射。此哈希映射必须由初始大小为 11 的数组支持,并且当表超过(大于、不大于或等于)0.67 的负载因子时,其大小必须为 2n + 1。必须在新键(无论是否重复)实际添加到数组中之前调整数组的大小。负载因子和初始大小值在界面中作为常量提供,应在您的代码中使用。

标签: java arrays generics hashmap


【解决方案1】:

你省略了数组构造函数中的泛型参数:

Map.Entry<String,Integer>[] entries = new Map.Entry[11];

如果警告困扰您,您可以使用注释 @SuppressWarnings("unchecked")

【讨论】:

  • 好的,即使它给出了 Unchecked assignment 警告它仍然会很好?
  • @newacct 哎呀。瞬间停电。谢谢。
猜你喜欢
  • 2013-08-18
  • 1970-01-01
  • 2017-08-27
  • 2019-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
相关资源
最近更新 更多