@Aleksey2411

Как осуществляется доступ к элементам массива в Java?

Прочитал статью о различиях массивов в C++ и в Java. Понял, что в C++ доступ к элементам происходит путем арифметики указателей, что делает эту процедуру достаточно быстрой ( Что дает преимущество перед односвязными списками ). Но нигде ни слова не нашел, как это делается в Java. Насколько я знаю, в Java нет подобных манипуляций со ссылками, а массив является полноценным объектом ( В отличии от примитивной структуры данных в плюсах ). Стало интересно, как осуществляется произвольный доступ к элементам массива Java и насколько быстра эта операция?
  • Вопрос задан
  • 164 просмотра
Решения вопроса 2
Bavashi
@Bavashi
Скорость работы с массивами в C++ и java будет идентична, если в java это массив примитивов. Если это объекты, то на большом кол-ве объектов в массиве возможно будет разница в производительности не в пользу java, потому что в C++ в элементах массива хранятся сами объекты, а в java ссылки на объекты. Подробнее можно почитать здесь.
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Синтаксически так же, как и в C++. Различия в скорости порядка наносекунд, которые виртуальная машина тратит на разыменовывание пары указателей и контроль границ.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Jacen11
не знаю как там в плюсах, но в джаве все так же, только под капотом и к тому же на тех же плюсах и написано. В джаве есть массивы, а есть коллекции которые на массивы основаны. Массив не является объектом. Коллекция, а конкретно ArrayList уже объект, ну и в основе своей работы использует массив.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
XCritical Software Санкт-Петербург
До 370 000 ₽
Gaskar Group Санкт-Петербург
от 170 000 ₽
19 сент. 2020, в 17:57
900 руб./за проект
19 сент. 2020, в 17:42
500 руб./за проект
19 сент. 2020, в 17:27
500 руб./за проект