Page 103 - 4836
P. 103

знову число. І обробити їх усі в циклі вона, напевно, не зможе,
                            оскільки у цих об'єктів немає загальних методів. У результаті
                            втрачаються  всі  переваги  використання  колекції.  Тому  в
                            кожну колекцію слід поміщати об'єкти тільки одного класу (і
                            похідні від нього).

                                   Інтерфейси - колекції
                                   Деякі  колекції  в  пакеті  java.util  не  представлені
                            самостійними  класами.  Наприклад,  черга  і  список.  Але  для
                            цих    корисних     структур    даних    визначені    відповідні
                            інтерфейси, тобто можна користуватися будь-яким класом, що
                            реалізує такий інтерфейс.
                                   Інтерфейс може використовуватися в якості типу даних
                            так  само,  як  і  клас.  Різниця  лише  в  тому,  що  об'єкти
                            інтерфейсного  типу  не  можна  створити  безпосередньо  -
                            необхідно  вибрати  клас,  що  підтримує  цей  інтерфейс  і
                            викликати його конструктор.
                                   Нехай,  наприклад,  потрібен  список,  одна  з  найбільш
                            зручних  і  часто  вживаних  структур  даних.  Список  -  це
                            впорядкована  послідовність  елементів,  кожен  з  яких  можна
                            отримати  за  його  позицією.  Крім  того,  можна  додавати
                            елементи в необхідні позиції списку і видаляти їх, при цьому
                            (і це головна зручність на відміну від масиву) інші елементи
                            автоматично  «розсуваються»  або  «зсуваються»  так,  що
                            безперервна зв'язність списку зберігається.
                                   Список  представлений  у  пакеті  java.util  інтерфейсом
                            List. Ви можете створювати змінні цього типу і оголошувати
                            функції  з  таким  параметром.  Наприклад,  клас  Game  в
                            програмі  гри  в  шашки  (див.  завдання  16)  має  поле  checkers
                            типу  List,  що  зберігає  всі  чорні  і  білі  шашки  (об'єкти  типу
                            Checker).  Коли  шашку  з'їдають,  її  треба  просто  видалити  зі
                            списку за допомогою одного із зручних методів, визначених у
                            інтерфейсі List:






                                                           101
   98   99   100   101   102   103   104   105   106   107   108