2

割り当てがあり、独自の(単純な)汎用リンクリストを作成する必要があります。

public class Node<T> {

   private int key;
   private T data;
   private Node<T> nextNode;

}

しかし、ハッシュテーブルを使用して辞書を実装する必要があります。ノードを含むリストを作成したかったのです。競合が発生した場合(タイプの2つのオブジェクトが同じノードに分散する場合は、単にそれらをリンクします-リンクリスト)。

私はこれを自分で実装する必要があります。外部の助けはありません(すでに実装されているリストなど)

私がこれをしたかった方法:

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
    }
}

ただし、これは正確には不可能です。私はこのテーマについて読んでみましたが、ここでSOを検索してみました...しかし、まったくわかりませんでした。

私の唯一の要求は...変数/メソッド名に怠惰にならないでください、それらを理解しやすくしてください。

4

1 に答える 1

5

これがあなたができる最善のことです:

    @SuppressWarnings("unchecked")
    Node<T>[] slots = (Node<T>[]) new Node<?>[capacity];

警告を取り除くことはできません(それを抑制することは別として)。ジェネリッククラスの配列が必要な場合は、ジェネリック型が指定されていない配列を作成してキャストする必要があります。

于 2012-10-24T10:23:21.847 に答える