Main.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import java.util.List;
  2. import java.time.LocalDateTime;
  3. import java.util.Optional;
  4. class Main {
  5. public static void main(String[] args) {
  6. // Crea una lista inmutable de ordenes.
  7. List<Order> orders = List.of(
  8. new Order("A123", 150, LocalDateTime.now()),
  9. new Order("B456", 80, LocalDateTime.now()),
  10. new Order("C789", 200, LocalDateTime.now()),
  11. new Order("DD12", 120, LocalDateTime.now()),
  12. new Order("C345", 150, LocalDateTime.now())
  13. );
  14. String orderId = "B456";
  15. Optional<Order> foundOrder = findOrderById(orders, orderId);
  16. // Si se encuentra la orden ejecuta las acciones.
  17. foundOrder.ifPresentOrElse(
  18. order -> {
  19. order.processOrder(order);
  20. order.showOrderDetails(order);
  21. },
  22. () -> System.out.println("No se encontró la orden con el ID: " + orderId)
  23. );
  24. }
  25. // Filtra una orden desde su ID.
  26. private static Optional<Order> findOrderById(List<Order> orders, String orderId) {
  27. return orders.stream()
  28. .filter(order -> order.getId().equals(orderId))
  29. .findFirst();
  30. }
  31. }