21

Java で long の配列を作成しようとしていますが、Eclipse で次のようなエラーが表示されます。

以下は私のコードです:

ここに画像の説明を入力

どうすればこれを解決できますか?

Javaで長いサイズの配列を作成できませんか?

4

6 に答える 6

26

long の配列は問題ありません: long[]. ただし、すべての 配列はint-indexed です。メソッドのパラメータ宣言を に変更long nするだけで、準備完了です。int n

于 2013-01-28T21:29:00.453 に答える
1

10^9 要素の配列が必要です

値を使用して、10 億の配列を作成できますint。intnを作成すると、配列を作成できますnew long[n] 注: これは 8 GB のヒープを使用します。

数式を使用してすべての要素を構築しているため、すべての値を動的に指定できるはずです。つまり、「仮想」配列であるコンポーネントを作成すると、それらすべての配列を生成する必要がなくなります。

私がこれを指摘する理由は、2 番目のループがk非常に小さい場合、せいぜい数分かかる可能性が高く、簡単に数日かかる可能性があるためです。

k+1ところで:すべてのコードを確認することはできませんが、時間ではなく一度割り当てられる値以上のものは必要ないようですn-k

于 2013-01-28T22:08:23.310 に答える
1

インデックスの場合は使用する必要がありますが、使用する必要はintありませんlong

于 2013-01-28T21:29:56.277 に答える
0

あなたは私の同情を持っています。メモリサイズが増加するたびに、これを実行します。今回は、メモリ サイズと並行して配列サイズを増やす必要がないという奇妙な期待があります。

あなたの最善の解決策は、おそらくlong get(long index)andvoid set(long value, long index)メソッドを使用して独自のクラスを作成することです。データを long[10][1000000000] として表し、自然な long インデックスと実際の int インデックスのペア間のマッピングをカプセル化できます。

于 2013-01-28T21:43:57.067 に答える
0

n(配列容量) は not でなければなりintegerませんlong

于 2013-01-28T21:31:32.203 に答える