-1

リンクされたリストの配列の大きさを指定するコンストラクターがありますが、配列のサイズの初期化に問題があります。これは私が試みていることですが、配列を初期化しようとするたびにエラーが発生します:

// コンストラクタ

MyConstruct(int initSize){
    hashTable = (LinkedList<T>[]) new Object[initSize];
}

エラー: java.lang.Object; [Ljava.util.LinkedList; にキャストできません。

次のようなことができるリンクされたリストの配列を作成するにはどうすればよいですか。

for(int i = 0; i < hashTable.size(); i++){
    hashTable[i].add(i + i);
}
4

4 に答える 4

1

これうまくいきます:

MyConstruct(int initSize){
    hashTable = new LinkedList[initSize];
}

しかし実際には、リストのリストを使用するだけです!

MyConstruct(int initSize){
    hashTable = new LinkedList<LinkedList<T>>();
}
于 2013-05-06T04:22:23.660 に答える
0

配列をリストに変更したい場合は、次のようにできます: Arrays.asList(array)

于 2013-05-06T04:25:26.023 に答える
0

Tがクラスのジェネリック パラメータである場合MyConstruct<T>、 の配列を作成する際に問題が発生しますLinkedList<T>。型消去は実行時にこれを行います。コードを追加して正しい種類のを配列LinkedList[]に追加することを確認する良い方法はありません。LinkedList

配列とジェネリックを混同しないでください。代わりに a を使用してList<LinkedList<T>>ください。それはうまくいくはずです。しかし、リンクされたリストのリストの目的は何ですか? Google Guava などの は、より適切に機能しますかMultiMap?

于 2013-05-06T04:25:47.847 に答える