java - 如何创建 Map.Entry这个方法的对象?
问题描述
我正在研究一个充当 HashTable 的类,其中每个条目都是一个名为 MapNode 的自定义对象。每个地图节点都有 3 个实例变量:键、值和下一个,它将保存一个 MapNode 对象,该对象在列表中的下一个。在嵌入 MapNode() 类的 MyHashTable() 类中,我需要为迭代器创建一个方法,该方法将给定位置的下一个值作为 Map.Entry<K, V> 值返回。这是我的代码:
//TODO: returns the next entry in the table
@SuppressWarnings("unchecked")
public Map.Entry<K, V> next() {
Map.Entry<K, V> nextEntry = (Map.Entry<K, V>) current.getNext();
return nextEntry;
}
}
current 是 MyHashtable() 中的一个实例变量,位于用户访问或添加的位置。我试图在不进行类型转换的情况下声明一个新的 Map.Entry<K, V> 值并得到一个错误,因为它“无法实例化类型 Map.Entry<K, V>”。这是我用来声明它的代码:
Map.Entry<K, V> nextEntry = new Map.Entry<K, V>();
我还尝试了一个参数化调用来创建一个新的调用并遇到了同样的错误。当我尝试 typecast 方法时,我要么得到一个 NullPointerException,要么会得到一个返回的空值,而这不是我所期望的。感谢您提供任何见解!
解决方案
推荐阅读
- mysql - sql查询公司数据库
- excel - 如何从一个工作簿复制数据并将值仅粘贴到另一个工作簿中并允许宏只运行一次?
- flutter - Flutter 自定义输入对话框避免被软键盘隐藏
- ios - 检查用户是否真的为应用内购买付费 [iOS, Swift]
- linux - 如何在 linux 中为每个 chrome 用户创建快捷方式?
- python - 有没有办法将 Web 套接字与 ec2 实例一起使用?
- javascript - 所有国家的下拉代码及其各自的州和城市的邮政编码
- dataframe - 如何在 PySpark 中获取数组类型列的 L2 范数?
- javascript - 如何从 Moment.js 持续时间中获取特定日期?
- c++ - 查询:如何在没有安装 Visual Studio 2017 的情况下在 windows 中运行应用程序?