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());