
- •Понятие потока данных в 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. Элемент интерфейса «радиокнопка» и его конструкторы:
- •Группировка радиокнопок и задание начального состояния в группе.
- •События элемента «радиокнопка» и их обработка.
Основные типы коллекций, имеющиеся в Java Collection Framework:
Коллекции – это хранилища, поддерживающие различные способы накопления и упорядочения объектов с целью обеспечения возможностей эффективного доступа к ним. Они представляют собой реализацию абстрактных типов (структур) данных, поддерживающих три основные операции:
· добавление нового элемента в коллекцию;
· удаление элемента из коллекции;
· изменение элемента в коллекции.
Применение коллекций в Java 2 обеспечивается специальным средством Java Collection Framework.
Иерархия коллекции:
Интефейс Collection (базовый «класс») – предусматривает наиболее общие операции для совокупностей элементов.
Интефейс Set (множество) – соответствует математическому понятию "множество". Не допускает дубликатов.
Интерфейс List (список), допускает дубликаты.
Интерфейс Queue – как список, но FIFO(что такое FIFO я не знаю).
Составные части jcf и их назначение:
JCF состоит из:
Интерфейсов (обозначают функциональность)
Реализаций (ориентируются на один из вариантов реализации)
Алгоритмов (методов решения типовых задач)
Интерфейсы:
Интерфейс Collection – базовый для интерфейсов List (списки), Set (множества) и SortedSet (множества с порядком). Интерфейсы List и SortedSet содержат дополнительные методы, упрощающие некоторые действия:
boolean add(E e) добавляет e типа E в коллекцию, true, если удалось.
boolean addAll(Collection<? extends E> c) добавляет все элементы кол. c
void clear() удаляет все элементы коллекции.
boolean contains(Object o) проверка принадлежности o коллекции
boolean isEmpty() проверяет, что коллекция пуста.
Iterator<E> iterator() создает итератор для перебора элементов коллекции.
boolean remove(Object o) удаляет элемент o из коллекции, true, если удалось.
int size() дает количество элементов коллекции.
Реализации:
Примеры создания пустого списка с элементами типа String на основе массива и на основе связного списка:
List<String> A=new ArrayList<String>( );
List<String> B=new LinkedList<String>( );
Алгоритмы:
Алгоритмы для решения типовых задач, в которых данными являются коллекции, содержатся в классе java.util.Collections. Алгоритмы обеспечивают сортировку данных (sort), перемешивание данных (shuffle), поиск элементов (binarySearch), поиск экстремальных элементов (min, max).
Назначение интерфейсов и алгоритмов jcf:
Интерфейсы позволяют сконцентрировать внимание на операциях с коллекциями, отвлекаясь от реализации. Интерфейсы содержат имена действий (методов) для работы с коллекциями и их элементами. Используются методы интерфейсов.
Алгоритмы для решения типовых задач, в которых данными являются коллекции, содержатся в классе java.util.Collections. Алгоритмы обеспечивают сортировку данных (sort), перемешивание данных (shuffle), поиск элементов (binarySearch), поиск экстремальных элементов (min, max).
Примеры (двух) интерфейсов и (двух) реализаций: сходства и различия:
Реализации (классы, реализующие методы интерфейсов):
Примеры создания пустого списка с элементами типа String на основе массива и на основе связного списка:
List<String> A=new ArrayList<String>( );
List<String> B=new LinkedList<String>( );
Интерфейсы (определяют функциональность коллекции):
m.listA.remove(m.listA.size()-1); // А без последнего элемента
setMA.addAll(setMB); //объеденение множества МА и МВ