Sobes.tech
Junior — Middle

Ποια είναι η εμπειρία σας στη χρήση ροών δεδομένων (streams) στη Java και σε ποια σενάρια τις έχετε εφαρμόσει;

sobes.tech AI

Απάντηση από AI

Στη Java, οι ροές δεδομένων (Streams) χρησιμοποιούνται για την άνετη και δηλωτική επεξεργασία συλλογών και άλλων πηγών δεδομένων.

Εμπειρία στη χρήση:

  • Φιλτράρισμα συλλογών βάσει συγκεκριμένων κριτηρίων (filter)
  • Μετατροπή στοιχείων (map)
  • Ταξινόμηση (sorted)
  • Συγκέντρωση δεδομένων (reduce, collect)

Για παράδειγμα, σε ένα έργο, χρησιμοποίησα streams για την επεξεργασία μιας λίστας παραγγελιών: φιλτράρισα τις παραγγελίες κατά κατάσταση, τις μετατρέπω σε DTO και τις συγκεντρώνω σε μια τελική λίστα για αποστολή στο frontend.

Παράδειγμα:

List<OrderDTO> processedOrders = orders.stream()
    .filter(order -> order.getStatus() == Status.COMPLETED)
    .map(order -> new OrderDTO(order.getId(), order.getTotal()))
    .collect(Collectors.toList());