1

こんにちは私は特定の日付をintの配列にマップするハッシュマップを実装したいと思います。配列のサイズは32です

私はこれを試しました、そしてそれはコンパイルします:

HashMap<Date,int[]> coord_map = new HashMap<Date, int[]>();

しかし、整数の配列のサイズを指定しなかったため、これがどのように機能するかはわかりません。

また、私はこれを疲れました:

int[] arr = new int[32];
for(int i =0; i <32; i++){
arr[i] = 0; // initialize the array to 0. 
}
HashMap<Date, arr> attraction_date = new HashMap<Date, arr>();

これにより、「arrという名前のクラスまたはタイプが見つかりません」というコンパイラエラーが発生します。

ありがとうございました

私は今、フォローアップの質問があります:

日付を取り込んでint配列にマップする1つのハッシュマップを正常に使用しています。ここで、このハッシュマップの複数のインスタンスを使用したいと思います。私のプロジェクトはテーマパークのデータを扱っているので、アトラクションごとに1つのハッシュマップがあります。
では、ハッシュマップの配列リストをどのように実装すればよいでしょうか。20のアトラクションを追跡するには?誰かが私にすべてを初期化するサンプルセットアップコードを見せてくれるなら、それは役に立ちます。

ありがとうございました、

4

2 に答える 2

4

それはあなたが何をするかに依存します。問題が正確に32intの配列を持っている必要がある場合は、ラッパークラスIntArray32を作成し、を使用しますHashMap<Date, IntArray32>。そうでなければ、あなたが書いたものはうまくいくでしょう、それはあなたが値として任意のサイズのint配列を持つことを単に可能にするでしょう。

于 2013-03-16T22:17:29.640 に答える
3

あなたが上に持っているものは良いです、あなたはサイズを指定する必要はありません。これはうまくいくでしょう

Map<Date, int[]> coordMap = new HashMap<Date, int[]>();
coordMap.put(aDate, new int[]{1,2});
coordMap.put(anotherDate, new int[]{3,4,5,6});
...

したがって、各値int[]は異なるサイズを持つことができます。

于 2013-03-16T22:22:45.220 に答える