Главная страница

метод. к лаб. работам (ООП). Основы языка java


Скачать 205 Kb.
НазваниеОсновы языка java
Анкорabpbrf
Дата13.10.2021
Размер205 Kb.
Формат файлаdoc
Имя файламетод. к лаб. работам (ООП).doc
ТипЛабораторная работа
#247006
страница5 из 5
1   2   3   4   5

Лабораторная работа №7


Тема: Работа с коллекциями

Классы пакета java.util и Generics-технология

Цель работы:


  1. Изучить и освоить использование основных классов пакета java.util и некоторых его подпакетов.

  2. Изучить и освоить применение Generic-технологии.



Порядок выполнения работы:


Ориентируясь на вариант задания:

    • Изучить состав и структуру классов и интерфейсов пакета java.util. Проработать все возможные варианты создания коллекций, предоставляемые пакетом java.util:

    • списки

    • отображения

    • множества

для реализации обработки объектов заданной предметной области. Выбрать и обосновать вариант организации коллекций, наиболее подходящий для избранного типа приложения.

    • Применить выбранный вариант организации коллекций при разработке структуры совокупности классов своего приложения.

    • Разработать Generic-класс, позволяющий работать с группами объектов заданной предметной области в соответствии с избранным типом приложения. Класс должен принимать различные коллекции объектов, используйте для этого параметр Generic-класса;

    • Разработать метод Generic-класса позволяющий добавить в группу коллекцию объектов. Протестировать метод на коллекциях разных видов. Разработать статический generic-метод, который работает с этим Generic-классом.

Требования к содержанию отчета:


Отчет готовится в электронном виде и должен содержать:

  • цель работы;

  • описание разработанной иерархии классов и интерфейсов заданной предметной области;

  • листинги классов и интерфейсов;

  • документацию, подготовленную с использованием утилиты javadoc;

  • выводы и заключение.

Контрольные вопросы (примерный перечень):


  1. Расскажите об иерархии интерфейсов коллекций Java. Объясните назначение каждого интерфейса.

  2. Что такое емкость класса-коллекции?

  3. Опишите возможности класса Formatter.

  4. В чем состоит назначение generic-технологии?

  5. Как и для чtго можно использовать класс Timer?

  6. Опишите классы HashSet, TreeSet.

  7. В чем сходство шаблонов в С++ и generic в Java?

  8. Что такое ограничение на неопределенный тип? Когда их можно использовать приведите примеры.

  9. Какое сложности возникают при создании нового API с generic?

  10. Какие структуры данных используются в классах HashMap и TreeMap?

  11. Как переделывать существующее API под generic?

  12. Что такое стирание информации о типе при компиляции, и почему это применяется?

  13. Для чего используются классы-коллекции?

  14. Что такое класс Vector? Для чего он используется? Каковы его достоинства и недостатки? Какая структура данных используется в классе Vector?

  15. Назовите особенности организации класса Stack.

  16. Что такое wildcards в технологии generic?

  17. Что такое регулярное выражение и для чего оно используется?

  18. Для чего применяется класс Hashtable? Какая структура данных используется в классе Hashtable?

  19. Что такое методы generic? Зачем они применяются? Приведите примеры.

  20. Что такое коэффициент загруженности?

  21. Каково назначение интерфейса Collection?

  22. Опишите возможности применения интерфейсов Map, Set и List.

  23. Для чего применяются интерфейсы Iterator и ListIterator?

  24. Опишите классы ArrayList и LinkedList.

  25. Что такое неопределенный тип? Приведите примеры использования.

  26. Опишите классы HashMap, TreeMap.

  27. Какие алгоритмы для обработки коллекций существуют в Java и как их использовать?

Варианты задания


1. Ввести строки из файла, записать в список. Вывести строки в файл в обратном порядке.

2. Ввести число, занести его цифры в стек. Вывести число, у которого цифры идут в обратном порядке.

3. Создать в стеке индексный массив для быстрого доступа к записям в бинарном файле.

4. Создать список из элементов каталога и его подкаталогов.

5. Создать стек из номеров записи. Организовать прямой доступ к элементам записи.

6. Занести стихотворения одного автора в список. Провести сортировку по возрастанию длин строк.

7. Задать два стека, поменять информацию местами.

8. Определить множество на основе множества целых чисел. Создать методы для определения пересечения и объединения множеств.

9. Списки (стеки, очереди) I(1.. n) и U(1.. n) содержат результаты n-измерений тока и напряжения на неизвестном сопротивлении R. Найти приближенное число R методом наименьших квадратов.

10. С использованием множества выполнить попарное суммирование произвольного конечного ряда чисел по следующим правилам: на первом этапе суммируются попарно рядом стоящие числа, на втором этапе суммируются результаты первого этапа и т. д. до тех пор, пока не останется одно число.

11. Сложить два многочлена заданной степени, если коэффициенты многочленов хранятся в объекте HashMap.

12. Умножить два многочлена заданной степени, если коэффициенты многочленов хранятся в различных списках.

13. Не используя вспомогательных объектов, переставить отрицательные элементы данного списка в конец, а положительные — в начало списка.

14. Ввести строки из файла, записать в список ArrayList. Выполнить сортировку строк, используя метод sort() из класса Collections.

15. Задана строка, состоящая из символов «(», «)», «[», «]», «{», «}». Проверить правильность расстановки скобок. Использовать стек.

16. Задан файл с текстом на английском языке. Выделить все различные слова. Слова, отличающиеся только регистром букв, считать одинаковыми. Использовать класс HashSet.

17. Задан файл с текстом на английском языке. Выделить все различные слова. Для каждого слова подсчитать частоту его встречаемости. Слова, отличающиеся регистром букв, считать различными. Использовать класс HashMap.

18. Создайте два одномерных массива. Второй массив в три раза меньшей длины. Создайте коллекции из элементов массива. Вставьте элементы второго массива в первый массив через каждые три элемента.

Рекомендуемая литература


1 Основные концепции и механизмы объектно-ориентированного программирования: Теория и технология программирования: учеб. пособие / Е. В. Пышкин. - СПб. : БХВ - Петербург, 2005.

2. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — СПб.: Питер, 2008.

3 Современные Java технологии на практике: научное издание / Т. С. Машнин. - СПб. : БХВ - Петербург, 2010

4 Java 7 : научное издание / И. Ш. Хабибуллин. - СПб. : БХВ - Петербург, 2012.

5 Эккель Б. Философия Java. Библиотека программиста. 4-е изд.- СПб.: Питер, 2010.

6 Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. — М. ДМК, 2007.

7 C.Стелинг, О. Маассен, Применение шаблонов Java. Библиотека профессионала. Москва,.С-Петербург, Киев, 2012.





1   2   3   4   5


написать администратору сайта