我有一项任务,我需要制作自己的(简单)通用链表:
public class Node<T> {
private int key;
private T data;
private Node<T> nextNode;
}
但我需要用哈希表实现一个字典。我想制作一个包含Node的列表。如果发生冲突(两个类型的对象分散到同一个节点,我只需链接它们 - 链接列表)。
我必须自己实施,没有外界帮助(已经实施过的列表或者什么都有)
我想怎么做:
public class GenericDictionary<T> implements GenericDictionary_interface<T> {
private int capacity;
private Node<T> [] slots;
public GenericDictionary () {
this.capacity = 31;
slots = new Node<T>[capacity]; // the array I need which I disperse to
}
}
然而,这并非完全可能。我确实尝试过阅读这个主题,尝试在这里搜索...但我根本没有得到它。
我唯一的要求是......不要对变量/方法名称保持懒惰,请让它们易于理解。
答案 0 :(得分:5)
这是你能做的最好的事情:
@SuppressWarnings("unchecked")
Node<T>[] slots = (Node<T>[]) new Node<?>[capacity];
你无法摆脱警告(除了压制它)。当需要泛型类的数组时,需要使用未指定的泛型类型创建数组,然后将其强制转换。