Задание 7 (автобусные маршруты)
Реализовать класс Buses «Автобусные маршруты».
Каждый маршрут характеризуется номером, названием и набором остановок. Номера маршрутов формируются в порядке добавлен автобусав, начиная с 1. Гарантируется, что все названия маршрутов и остановок состоят лишь из латинских букв, цифр и знаков подчёркивания. Маршруты, проходящие по одним и тем же остановкам в разном порядке, считаются различными.
В классе должны быть реализованы методы (проверяемые тестами):
int addBus (String name, String[] stops) throws Exception
добавляет новый маршрут и назначает ему номер, если автобус с таким маршрутом существует, выбрасывает исключение с текстом Already exists for i, где i - номер существующего маршрута
List<String> sbusesForStop (String nameStop) throws Exception
выдает список названий всех маршрутов автобусов, проходящих через остановку nameStop в том порядке, в котором они создавались. Если через остановку нет маршрутов, выбрасывается исключение с текстом No stop.
Set<Integer> nbusesForStop
(String nameStop) throws Exception
выдает номера всех маршрутов автобусов, проходящих через остановку nameStop. Если через остановку нет маршрутов, выбрасывается исключение с текстом No stop.
Map<String,
Set<Integer>> stopsForBus (String name) throws Exception
выдает названия всех остановок автобуса заданного названия, для каждой остановки задается множество номеров автобусов, на которые можно пересесть. Если такого автобуса нет, выбрасывается исключение с текстом No bus.
List<String> allBuses ()
выдает список названий всех маршрутов автобусов в алфавитном порядке