- •1. Поняття класа-оболонки. Розташування цих класів ієрархії класів Java
- •2. Операції упаковки та распаковки класів-оболонок
- •3. Практичне застосування класів-оболонок
- •4. Порівняння рядків
- •5. Особливості класу String для обробки рядків
- •6. Особливості класу StringBuffer для обробки рядків. Довжина та місткість буферу
- •7. Відмінності між класами String та StringBuffer
- •8. Класи та інтерфейси каркасу колекцій мови Java
- •9. Інтерфейс Collection
- •Iterator
- •10. Порівняння реалізацій інтерфейсу List
- •11. Програмна реалізація ArrayList. Основні операції
- •12. Використання ітератору для роботи из елементами колекцій
- •13. Алгоритми каркасу колекцій мови Java
- •14. Способи визначення порядку елементів колекції
- •15. Програмна реалізація PriorityQueue. Основні операції
- •16. Програмна реалізація ArrayDeque. Основні операції
- •17. Програмна реалізація HashSet . Основні операції
- •18. Програмна реалізація LinkedHashSet . Основні операції
- •19. Програмна реалізація TreeSet . Основні операції
- •20. Способи отримання елементів карти
- •21. Програмна Реалізація HashMap . Основні операції
- •22. Програмна Реалізація TreeMap . Основні операції
- •23. Реалізація множин на базі EnumSet і EnumMap
- •24. Пакет Java. Правила іменування пакетів
- •25. Типи імпорту пакетів. Вирішення конфліктів імен при імпортуванні
- •26. Розмежування доступу до вмісту пакету
- •27. Модуль компіляції. Визначення, вміст, правила опису
- •28. Призначення jar-файлів. Іх склад
- •29. Байтові файлові потоки введення/виведення
- •InputStream
- •30. Буферізовані файлові байтові потоки введення/виведення
- •31. Символьні файлові потоки введення/виведення
- •32. Буферізовані файлові символьні потоки введення/виведення
- •33. Механізм обробки подій у застосуваннях java з gui 34. Шаблон «Компонувальник» для розташування елементів gui
Iterator
boolean hasNext(); //возвращает true,если есть следующий // элемент
E next(); //возвращает следующий элемент
void remove(); //optional
10. Порівняння реалізацій інтерфейсу List
Интерфейс List
Расширяет Collection и объявляет поведение коллекции, хранящей последовательность элементов.
• Порядок, в котором хранятся элементы определяется порядком их добавления в список
• Список может содержать дублированные элементы
E get(int index); // возвращает объект в позиции
index E set(int index, E obj); // присваивает obj элементу в позиции index boolean
addAll(int index, Collection c); // вставляет все элементы c в вызывающий // список в позицию
index void add(int index, E element); // вставляет obj в позицию
index E remove(int index); // удаляет элемент в позиции index и // возвращает удаленный элемент 39 //
Search int indexOf(Object obj); // возвращает индекс первого экземпляра obj в списке // или -1, если obj не явл. элементом списка
int lastIndexOf(Object obj); // возвращает индекс последнего экземпляра obj в // списке или -1, если obj не явл. элементом списка
Set не додано, просто метод add () не стане додавати ще одну копію елемента, якщо такий елемент вже є в множині.
Інтерфейс Queue з пакету java.util, що розширює інтерфейс Collection, описує методи роботи з чергами. Чергою називається колекція, елементи в яку додаються з дного кінця, а видаляються з іншого кінця. Такий порядок обробки називається FIFO
(First In -First Out, першим прийшов-першим пішов).
ListIterator listIterator(); //возвращает итератор, указывающий на начало //вызывающего списка ListIterator listIterator(int index); //возвращает итератор, указывающий на позицию index //вызывающего списк
List subList(int start, int end); // возвращает список, включающий элементы, //расположенные в вызывающем списке от start //до end
11. Програмна реалізація ArrayList. Основні операції
ArrayList
• расширяет класс AbstractList и реализует интерфейс List
• Поддерживает динамические массивы, которые по необходимости могут расширяться и сокращаться.
• ArrayList может увеличиваться и уменьшаться во время выполнения
void ensureCapacity(int cap) - «ручное увеличение емкостиArrayList
void trimToSize( ) - сокращение размера ArrayList
12. Використання ітератору для роботи из елементами колекцій
Объект Iterator позволяет просматривать содержимое коллекции последовательно, элемент за элементом. Позиции итератора располагаются в коллекции между элементами. В коллекции, состоящей из N элементов, существует N+1 позиций итератора.
Компилятор транслирует цикл «for-each» в цикл с итератором
Применение итератора вместо f
for (String element : c)
1) При операциях удаления текущего элемента
2) При проходах по нескольким коллекциям одновременно
Метод remove()интерфейса Iterator удаляет элемент,
который был возвращен последним вызовом next()
bIter = b.iterator();
while (bIter.hasNext())
{
bIter.next(); // skip one element
if (bIter.hasNext())
{
bIter.next(); // skip next element
bIter.remove(); // remove that element
}
}
