だから私は一般的なリンクリストとスキップリストのプログラムを書こうとしています。また、将来の使用のために、インターフェイスとスーパークラスを使用したかったのですが、すべてのジェネリック型とすべてを連携させる方法がわかりません。
これは私が今持っているものの基本的な考え方です:
すべてが拡張される私のリスト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 を project.LLNode にキャストできません。