Я замечаю, что когда вы создаете массив, он может подниматься только до размера int, поскольку это единственное, что он принимает. Как создать тот, который соответствует длине?Как вы создаете большой массив?
ответ
В настоящее время Java-массивы ограничены индексами int
по спецификации языка Java. (См section 10.4, "Array Access".)
Разрешение long
индексов был proposed as part of Project Coin, до Java 7, но предложение was not accepted.
Альтернативой является использование объекта, представляющего вектор элементов, который поддерживает длинный индекс.
Согласно спецификации языка Java (см: http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html), вы можете только индекс в массиве с помощью int
(или short
, byte
или char
, которые рассматриваются как int
для этой цели).
Имейте в виду, что необходимость индексирования в массив с использованием long предполагает, что у вас будет> ~ 2 гига доступных смежных памяти. В зависимости от вашей стратегии сбора мусора и общей выделенной памяти это может быть сложно.
Вы можете создавать только классы BigArray на основе нескольких массивов и которые будут иметь методы set/get с длинными аргументами.
- 1. как вы создаете большой массив?
- 2. как вы создаете массив внутри объекта? (java)
- 3. Как вы это создаете?
- 4. Как вы создаете Rakefile?
- 5. Как вы создаете MouseEvent?
- 6. Как вы создаете двухмерную коллекцию?
- 7. Как вы создаете индексатор торрентов?
- 8. Как вы создаете коллекцию GenuineVariableDescriptors?
- 9. как вы создаете скрипт cron?
- 10. Как вы создаете свои фабрики?
- 11. Как вы создаете AFRAME кнопку
- 12. Как вы создаете закрытую воронку?
- 13. Как вы создаете плагин jQuery?
- 14. Как вы создаете PHP-код?
- 15. Как вы создаете последовательность modalViewControllers?
- 16. Как вы создаете английское слово?
- 17. Как вы создаете RSS-канал?
- 18. Как вы создаете подобные эффекты?
- 19. как вы создаете социальный граф?
- 20. Как вы создаете массив из строки с разделителями?
- 21. Как вы создаете массив, который генерируется пользователем? (Java)
- 22. Как вы создаете 1D массив из заданного 2D массива
- 23. В Perl, как вы создаете и используете массив хэшей?
- 24. Как вы создаете массив указателей на функцию-член с аргументами?
- 25. Как вы создаете массив, подходящий для сортировки numpy?
- 26. Вы создаете словарь данных?
- 27. C++ - Как вы создаете многомерные массивы?
- 28. как вы создаете изображение с нуля?
- 29. Как вы создаете приложение, такое как Firebase?
- 30. Что происходит, когда вы создаете 15-мерный массив?
См. Этот вопрос: http://stackoverflow.com/questions/1071858/java-creating-byte-array-whose-size-is-represented-by-a-long – wchargin
Почему вам нужен такой большой массив? Кажется, проблема дизайна. – Drogba
Вы можете сделать многомерный массив Integer.MAX_VALUE-1 для каждого измерения, но это будет конец вашей памяти. – Voicu