
- •Понятие потока данных в java. Виды потоков:
- •Общая схема записи данных в поток:
- •Общая схема чтения данных из потока:
- •Байтовый поток :свойства, связь потока с файлом, чтение, запись закрытие:
- •Потоки символов: свойства, связь потока с файлом, чтение, запись, закрытие:
- •Потоки строк: свойства, связь потока с файлом, чтение, запись, закрытие:
- •Исключения при работе с потоками:
- •Понятие рекурсии, рекурсивное вычисление факториала:
- •Понятие рекурсии, рекурсивное вычисление суммы элементов массива:
- •Понятие рекурсии, рекурсивное вычисление максимального элемента массива:
- •Формулировка задачи о ханойских башнях:
- •Применение рекурсии при определении связного списка:
- •Понятие списка. Объявление элемента списка:
- •Структура объявления двусвязного списка:
- •Типовые операции для односвязных списков:
- •Кольцевой и двусвязный списки: отличия от односвязного списка:
- •Порядок добавления элемента в односвязный список:
- •Основные типы коллекций, имеющиеся в Java Collection Framework:
- •Составные части jcf и их назначение:
- •Назначение интерфейсов и алгоритмов jcf:
- •Примеры (двух) интерфейсов и (двух) реализаций: сходства и различия:
- •Преимущества, получаемые от применения jcf в программах:
- •Коллекции: списки – основные методы интерфейса List:
- •Коллекции: множества – основные элементы интерфейса Set:
- •Выполнение стандартных операций теории множеств:
- •Списки и множества: сходства и различия:
- •Цикл for-each и его применение в коллекциях:
- •Математическая идея, представленная элементом Map:
- •Вопрос 29. Сравнительный анализ реализаций ArrayList и LinkedList.
- •Вопрос 30. Параметры по которым сравнивают реализации коллекций.
- •Вопрос 31. Понятие и назначение итератора
- •Вопрос 33. Comparable и Comparator
- •Вопрос 34. Сортировка со стандартным и нестандартным отношением порядка.
- •Вопрос 35. Вопрос 36. Вопрос 37. Вопрос 38 Поиск элемента в коллекции. Двоичный и прямой поиск. Способ идентификации ситуации «Элемент не найден».
- •Вопрос 39. Графический интерфейс пользователя. Составные элементы фрейма.
- •Вопрос 40. Библиотеки Java, поддерживающие графический интерфейс.
- •Вопрос 41. Компонент и контейнер.
- •Вопрос 42. Jframe — в иерархии объектов графики.
- •Ответы к экзамену по программированию часть 5 (вопр. 57-69)
- •События мышки. Общая схема обработки событий мышки:
- •Методы интерфейса MouseListener и их назначение:
- •Методы интерфейса MouseMotionListener:
- •Методы класса MouseEvent. Получение координат события:
- •Управляющие элементы графического интерфейса – внешний вид и назначение:
- •Кнопка. Состояния кнопки. События кнопки, их обработка и идентификация:
- •Структура программы, имеющей интерфейс с двумя кнопками:
- •Элементы интерфейса «Условие» («флажок») и его конструкторы:
- •События элемента «флажок» и их обработка.
- •Структура программы с интерфейсом, содержащим два элемента «условие»:
- •67. Элемент интерфейса «радиокнопка» и его конструкторы:
- •Группировка радиокнопок и задание начального состояния в группе.
- •События элемента «радиокнопка» и их обработка.
Преимущества, получаемые от применения jcf в программах:
Снижает затраты на программирование, т.к. полезные структуры данных и алгоритмы уже готовы
Повышает эффективность программ, т.к. применяются хорошо сделанные структуры данных и алгоритмы
Облегчает адаптацию программ, т.к. интерфейсы взаимозаменяемы
Снижает затраты на изучение, поскольку интерфейсы единообразны
Снижает затраты на разработку своих интерфейсов, т.к. могут быть использованы типовые интерфейсы
Способствует многократному применению разработанных программ, т.к. обеспечивается стандартный интерфейс для задач с коллекциями
Коллекции: списки – основные методы интерфейса List:
Список – упорядоченная коллекция (последовательность).
Интерфейс List добавляет к методам интерфейса Collection методы, использующие индекс index элемента:
void add(int index, object obj) — вставляет элемент obj в позицию index ;
boolean addAll(int index, Collection col) — вставляет все элементы коллекции col ;
object get(int index) — возвращает элемент, находящийся в позиции index ;
int indexOf(Object obj) — возвращает индекс первого появления элемента obj в коллекции;
int lastindexOf (object obj) — возвращает индекс последнего появления элемента obj в коллекции;
Listiterator listiterator () — возвращает итератор коллекции;
Listiterator listiterator (int index) — возвращает итератор конца коллекции от позиции index ;
Коллекции: множества – основные элементы интерфейса Set:
Множества - (неупорядоченные) совокупности элементов, не содержащие дублей.
Методы интерфейса Set –такие же, как и методы методы интерфейсаList
Сами методы закодированы в реализациях: HashSet, TreeSet, LinkedHashSet.
HashSet – таблица с перемешиванием, (быстрый доступ, но порядок может измениться при добавлении новых элементов)
TreeSet – элементы упорядочены по величине, хранятся в виде "черно-красного" дерева
LinkedHashSet – элементы упорядочены моментом появления, порядок элементов не изменяется при добавлении новых элементов
Выполнение стандартных операций теории множеств:
Операции для множества (А,B –множества):
добавить элемент а: А+а add( )
удалить элемент а: А\а remove( )
пересечение множеств А и В retainAll( )
объединение множеств А и В addAll( )
вычитание А \ В removeAll( )
равенство множеств А и В =
включение множества В в множество А
Метод clear( ) – удаляет все элементы в коллекции.
setMA.addAll(setMB);//объеденение множества МА и МВ
m.listA.remove(m.listA.size()-1);// A без последнего знака
setMC=setMA;// равенство множеств
int MC = setMC.size();//мощность МС
Списки и множества: сходства и различия:
Сходства: оба интерфейса наследники Collection, имеются общие методы от Collection.
Различия: в множестве исключено повторение, в списках возможно повторение, множества неупорядочены, списки – упорядочены, списки не могут использовать методы множеств, множества могут использовать методы списков, в списке есть возможность обратиться к элементу по индексу.