#313 Поиск первого заказа и сортировка доставок

Компании:
Aston
Темы:
JavaStream API и LambdaПрактика

Реализовать методы:

  • Метод findFirstOrder принимает список заказов и должен возвращать первый / самый ранний заказ в списке в соответствии со значением поля DeliveryDate. Если список пуст, метод должен возвращать порядок, созданный его конструктором по умолчанию ("пустой порядок").
  • Метод печати адресов для доставки также использует список заказов и должен печатать адреса, отсортированные по дате доставки от самой ранней до самой поздней, без дубликатов. Каждый адрес должен быть напечатан с новой строки. Если список содержит дубликаты, следует распечатать только первый заказ, чтобы избежать повторного посещения одного и того же адреса. Вернуть отсортированную коллекцию.
public class DeliveryOrderStream {

    public static DeliveryOrder findFirstOrder(List<DeliveryOrder> orders) {
        return null;
    }

    public static Collection<DeliveryOrder> printAddressesToDeliver(Collection<DeliveryOrder> orders) {
        return null;
    }

    public static void main(String[] args) {
        List<DeliveryOrder> orders = List.of(
                new DeliveryOrder(1L, "112 Mammoth Street, Colorado Springs, CO 80911", LocalDate.of(2021, 9, 3)),
                new DeliveryOrder(2L, "369 Woodside Court, Troy, NY 12180", LocalDate.of(2021, 9, 5)),
                new DeliveryOrder(3L, "837 Bowman Street, Helena, MT 59601", LocalDate.of(2021, 9, 2)),
                new DeliveryOrder(4L, "112 Mammoth Street, Colorado Springs, CO 80911", LocalDate.of(2021, 9, 3)),
                new DeliveryOrder(5L, "112 Mammoth Street, Colorado Springs, CO 80911", LocalDate.of(2021, 10, 3)),
                new DeliveryOrder(6L, "112 Mammoth Street, Colorado Springs, CO 80911", LocalDate.of(2021, 8, 3))
        );

        System.out.println(findFirstOrder(orders));
        printAddressesToDeliver(orders).forEach(System.out::println);
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти