Page 187 - 6253
P. 187
У представленому прикладі окрім інтерфейсу Comparator також реалізується
Comparable, оскільки клас Car є складним об’єктом. У інтерфейсі Comparable
визначено метод compareTo(), якому передається об’єкт, що порівнюється із
об’єктом з якого він викликається. Він повертає нульове значення, якщо об’єкти
рівні між собою, додатне значення, якщо переданий об’єкт більший та від’ємне
значення, якщо переданий об’єкт менший за об’єкт з якого викликається метод.
7.4. Методи класу Arrays для роботи із масивами
У класі Arrays визначено методи для роботи із масивами. Вони дозволяють
заповнити пробіли між колекціями і масивами.
Метод asList() повертає список, який складається з елементів масиву, що
передається йому. Він має наступну сигнатуру.
static <Т> List asList(T масив[])
Метод binarySearch() виконує бінарний пошук по масиву для знаходження
заданого значення. Він може бути застосований тільки до відсортованих масивів.
Метод binarySearch() має наступні сигнатури.
static <T> binarySearch(T[] масив, T значення)
static <T> binarySearch(T[] масив, індекс відІндекс,
індекс доІндекс, T значення)
static <T> int binarySearch(T[] масив, T значення,
Comparator <? super T> c)
static <T> int binarySearch(T[] масив, індекс відІндекс,
індекс доІндекс, T значення, Comparator <? super T> c)
Змінна масив – це масив, в якому здійснюється пошук, а значення – значення,
яке треба знайти. Інтерфейс Comparator c використовується для визначення порядку
елементів в масиві.
Метод соруOf() повертає копію масиву і має наступні сигнатури.
static <T> T[] copyOf(T[] масив, int розмір)
static <Т, U> Т[] copyOf(U[]масив, int розмір,
Class <? extends T[]> типРезультату)
Початковий масив задається через параметр масив, а довжина копії – через
параметр розмір. Якщо копія довша за масив, то вона доповнюється нулями (для
числових масивів), значеннями null (для масивів об'єктів) або значеннями false (для
186