回答編集履歴
1
ちょっと文章変更
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
結論から言うとJavaの言語仕様とJavaVMの制限から不可能です。
|
5
|
+
結論から言うとJavaの言語仕様とJavaVMの制限から**不可能**です。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
|
21
|
+
つまり、JavaとJavaVMと配列を使う限り、どんなにメモリを積んだり、オプションでヒープサイズなどを調整しても、2^31個の要素の配列を作ることは**不可能**になるということです。なお、`long`を使えばと思うかも知れませんが、Javaの配列は添字アクセス等が`int`になるため、結局キャストが必要になり、意味がありません。ArrayListも`int`であり同じです(そもそもArrayListは内部で配列を使って実装されています)。LinkedListであれば実装上の制限がないように思えますが、`size()`等が`int`を使うため、同じと思われます(ここら辺は試してません)。
|
22
22
|
|
23
23
|
|
24
24
|
|