— Привіт, Аміго!

Як пройшли ранкові лекції?

— Так пристойно так, я тобі скажу.

Білаабо дав купу патернів проектування, Еллі купу всього за колекціями. Непростий видався день.

— Нічого, зате я тебе сильно нічим не навантажуватиму.

Хочу розповісти тобі про два утилітні класи, з якими ти вже стикався.

Це класи Arrays і Collections. Всі їх методи статичні та призначені для роботи з колекціями та масивами.

Почну з простішого - Arrays. Ось його методи:

Методи Пояснення
List<T> asList(T... a)
Повертає незмінний список, заповнений переданими елементами.
int binarySearch(int[] a, int fromIndex, int toIndex, int key)
Шукає елемент (key) у масиві a або підмасиві, починаючи з fromIndex і до toIndex.
Масив має бути відсортований!
Повертає номер елемента або відIndex-1, якщо елемент не знайде.
int[] copyOf(int[] original, int newLength)
Повертає підмасив original масиву, newLength елементів, починаючи з нульового.
int[] copyOfRange(int[] original, int from, int to)
Повертає під масив original масиву, починаючи з from до to.
boolean deepEquals(Object[] a1, Object[] a2)
Глибоке порівняння масивів. Масиви вважаються рівними, якщо рівні їхні елементи. Якщо елементи є масивами, для них теж виконується глибоке порівняння.
int deepHashCode(Object a[])
Глибокий хешкод на основі всіх елементів. Якщо елемент є масивом, він також викликається deepHashCode.
String deepToString(Object[] a)
Глибоке перетворення на рядок. Для всіх елементів викликається toString(). Якщо елемент є масивом, він також виконує глибоке перетворення до рядка.
boolean equals(int[] a, int[] a2)
Порівнює два масиви поелементно.
void fill(int[] a, int fromIndex, int toIndex, int val)
Заповнює масив (або підмасив) заданим значенням.
int hashCode(int a[])
Обчислює загальний hashCode всіх елементів масиву.
void sort(int[] a, int fromIndex, int toIndex)< /pre>
Сортує масив (або підмасив) за зростанням.
String toString(int[] a)
Перетворює масив до рядка. Для всіх елементів викликається toString();

— А що, дуже корисні методи, багато хто мені знадобився б.

— Хочу ще зауважити, що я тут навів не всі методи. Багато методи з таблиці дублюються всім примітивних типів. Тобто. якщо написано String toString(int[] a), то є методи String toString(boolean[] a), String toString(byte[ ] a), String toString(long[] a), String toString(float[] a), String toString(double[] a ), String toString(char[] a).

— Так це змінює справу. Тепер це просто незамінний клас.

— Радий що тобі сподобалося. Тоді продовжимо після перерви.