所以我正在尝试为通用链表和跳过列表编写程序。我还想在使用接口和超类时使用它,以备将来使用,但我似乎无法弄清楚如何使所有东西与所有泛型类型一起工作。
这是我现在所拥有的基本思想:
我的列表 ADT 和节点类,一切都将扩展:
public class Node<K extends Comparable<K>> {
K key;
Object data;
...
}
public interface List<T> {
public void insert(T value);
public void delete(T value);
}
对于链表的示例:
public class LList<T extends Comparable<T>> implements List<LLNode<T>>
public class LLNode<K extends Comparable<K>> extends Node<K>
我这样做对吗?
编辑:更具体地说,当我尝试制作此类的非常基本的实例时遇到问题,例如...
List<String> linkedList = new LList<String>();
List[] lists = {linkedList};
sets[0].insert("cookie");
这给了我一个编译器错误:java.lang.String cannot be cast to project.LLNode