Задачи на коллекции в Java программировании
1. Создать динамический массив
- Создать динамический массив, содержащий объекты класса
HeavyBox
. - Класс HeavyBox наследует класс Box и содержит переменную - int weight.
- Класс Box содержит переменные double width, double height, double depth.
- Распечатать его содержимое используя
for each
. - Изменить вес первого ящика на 1.
- Удалить последний ящик.
- Получить массив содержащий ящики из коллекции тремя способами и вывести на консоль.
- Удалить все ящики.
Решение на Patreon.
2. Создать TreeSet
- Создать TreeSet содержащий объекты классы
HeavyBox
. - Класс HeavyBox наследует класс Box и содержит переменную - int weight.
- Класс Box содержит переменные double width, double height, double depth.
HeavyBox
должен реализовать интерфейсComparable
, сортировка должна осуществляться по переменной weight.- Распечатать содержимое с помощью
for each
.
Решение на Patreon.
3. Набор чисел
- Пользователь вводит набор чисел в виде одной строки "1, 2, 3, 4, 4, 5, 10,11".
- Избавиться от повторяющихся элементов в строке.
- Вывести результат на экран.
- Используем интерфейс Set.
Решение на Patreon.
4. Методы union() и intersect()
- Напишите методы
static <T> Set<T> union(Set<T> set1, Set<T> set2)
иstatic <T> Set<T> intersect(Set<T> set1, Set<T> set2)
, реализующих операции объединения и пересечения множеств. - Протестируйте работу этих методов на предварительно заполненных множествах.
Решение на Patreon.
5. Создать очередь
- Создать очередь, содержащую объекты класса
HeavyBox
. - Класс HeavyBox наследует класс Box и содержит переменную - int weight.
- Класс Box содержит переменные double width, double height, double depth.
- Используем класс
ArrayDeque
. - Поместить объекты в очередь с помощью метода
offer()
. - Удалить объекты методом
poll()
.
Решение на Patreon.
6. Разделение коллекции
- Создать коллекцию, содержащую объекты класса
Box
.public class Box { private double width; private double height; private double depth;
- Написать метод, который перебирает элементы коллекции и проверяет ширину коробок.
- Если ширина коробки больше 30 см, коробка перемещается в другую коллекцию.
- Для перебора элементов, используем итератор.
Решение на Patreon.
7. Создать HashMap
- Создайте HashMap, содержащий пары значений - имя книги и объект книги (класс Book).
- Класс Book содержит переменные name, cost, author.
- Перебрать и распечатать пары значений -
entrySet()
. - Перебрать и распечатать набор из имен книг -
keySet()
. - Перебрать и распечатать значения книг -
values()
. - Для каждого перебора создать свой метод.
Решение на Patreon.
8. Студенты
- Создать класс Student, содержащий следующие характеристики – имя, группа, курс, оценки по предметам.
- Создать коллекцию, содержащую объекты класса Student.
- Написать метод, который удаляет студентов со средним баллом <3.
- Написать метод, который переводит студента на следующий курс, если средний балл>=3.
- Напишите метод
printStudents(Set<Student> students, int course)
, который получает список студентов и номер курса. Метод печатает на консоль имена тех студентов, которые обучаются на данном курсе.
Решение на Patreon.
9. Домашние животные
- Создайте класс
Pet
с переменной name и абстрактным методом makeNoise(). - Создать наследников класса
Pet
-Cat
,Dog
,Parrot
. Каждый класс реализует свой вариант метода makeNoise(). - Создайте отображение из домашних животных, где в качестве ключа выступает имя животного, а в качестве значения класс
Pet
. - Добавьте в отображение разных животных.
- Создайте метод выводящий на консоль все ключи отображения.
- Создайте метод вызывающий метод makeNoise() для каждого животного.
Решение на Patreon.
10. Интернет-магазин, часть 6
Часть 1, часть 2, часть 3, часть 4, часть 5.
- Вместо массивов используйте коллекции.
- Товары каталога, должны быть отсортированы. Например, по цене.
Решение на Patreon.
При написании программ обращайте внимание на рекомендации по оформлению кода.

Please log in or register to have a possibility to add comment.