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

 Прочитал статью о различиях массивов в C++ и в Java. Понял, что в C++ доступ к элементам происходит путем арифметики указателей, что делает эту процедуру достаточно быстрой ( Что дает преимущество перед односвязными списками ). Но нигде ни слова не нашел, как это делается в Java. Насколько я знаю, в Java нет подобных манипуляций со ссылками, а массив является полноценным объектом ( В отличии от примитивной структуры данных в плюсах ). Стало интересно, как осуществляется произвольный доступ к элементам массива Java и насколько быстра эта операция? 

 Скорость работы с массивами в C++ и java будет идентична, если в java это массив примитивов. Если это объекты, то на большом кол-ве объектов в массиве *возможно* будет разница в производительности не в пользу java, потому что в C++ в элементах массива хранятся сами объекты, а в java ссылки на объекты. Подробнее можно почитать [здесь](https://stackoverflow.com/a/12073643). 

 Синтаксически так же, как и в C++. Различия в скорости порядка наносекунд, которые виртуальная машина тратит на разыменовывание пары указателей и контроль границ. 

 не знаю как там в плюсах, но в джаве все так же, только под капотом и к тому же на тех же плюсах и написано. В джаве есть массивы, а есть коллекции которые на массивы основаны. Массив не является объектом. Коллекция, а конкретно ArrayList уже объект, ну и в основе своей работы использует массив.