Прошел уровень по массивам, суммировал то что я понял. Я тут выкачу сейчас свои новичковые мысли на счет массива, мне нужно что бы те кто знают, подсказали правильно ли я все понял, и есть ли что то, что нужно знать что бы при вопросах на том же собеседовании меня не завалили по массивам... писал по памяти...
Массив - структура данных(контейнер),
храннящая переменные одного типа.
- массив имеет фиксированный размер.
- индексация элементов в массиве начинается с ноля.
- что бы получить доступ к элменту
	нужно обратиться к нему по индексу.

Одномерный массив.

Одномерный:
int[] array = new int[]{1,2,3,4,5}; // size = 5;
array - ccылка, типа int[].
new int[] {...} - контейнер.
1,2,3,4,5 - ccылки на значения,
	то есть да фактически это значения,
	но по факту когда проходимся по массиву
	значения храняться в переменной array[i],
	то есть ссылке, которая хранит уже само значение.

В памяти одномерный массив хранится в таком виде:
- состоит из четырех компонентов:
1. ссылка на контейнер с переменными.
2. сам контейнер.
3. однотипные переменные лежащие в контейнере
	- где переменные это ссылки на значения.
4. сами значения.

Про двумерный и многомерный не буду писать там
вроде ясно, просто в контейнере при увеличении "мерности"
массива растет вложенность ссылок, то есть при 3ех мерном массиве
в контейнере будет храниться ссылка на ссылку, далее на пермеменную(сылку)
и в конце уже переменные ссылаются на значения.

Так же для работы с массивами есть методы класса Arrays.
Вообще не совсем понятно я еще методы только начал проходить,
ну и про классы знаю совсем чючють.

Есть такие основные методы:
Arrays.fill(array, value) или же array[i] = value;
Arrays.sort(array) - под капотом используеться quick sort,
	хрен знает что это)) ну всм это сортировка, но я пока не работал с ними.
Arrays.binarySearch - поиск элемента в массиве,
	- работает binarySearch таким образом,
	после того как отсортировали массив, например темже Arrays.sort(array),
	можно найти элемент, binarySearch делит массив пополам, сперва ищет
	в правой стороне, затем если не находит в левой,
	Если я правильно понял можно вызывать несколько раз binarySearch
	что бы делить каждую половину массива еще раз и
	уменьшать кол-во прохождений...
Ну и Arrays.equals(array[i], array[i + 1]), сравнивает значения.
есть еще deepEquals(...) - для двумерных и многомерных массивов.
также есть еще куча других методов в классе Arrays, c приставкой deep
то есть опять же для двумерных и многомерных массивов, т.к без
приставки будет правильно работать только для одномерных массивов.

Остольные методы я пока особо не разбирал...