Sobes.tech
Junior — Middle

Μπορείς να δώσεις ένα παράδειγμα μεθόδων μετατροπής δεδομένων μέσα στο API Stream;

sobes.tech AI

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

Στην API Stream (π.χ. στη Java), οι μέθοδοι μετασχηματισμού δεδομένων επιτρέπουν τη δημιουργία νέων ροών με βάση υπάρχουσες, με τροποποιημένα στοιχεία. Παραδείγματα τέτοιων μεθόδων:

  • map() — εφαρμόζει μια συνάρτηση σε κάθε στοιχείο και επιστρέφει μια ροή μετασχηματισμένων στοιχείων.
  • filter() — φιλτράρει στοιχεία βάσει μιας δοθείσας συνθήκης.
  • flatMap() — μετατρέπει κάθε στοιχείο σε ροή και ενώνει όλες τις ροές σε μία.
  • distinct() — αφαιρεί διπλότυπα.
  • sorted() — ταξινομεί τα στοιχεία.

Παράδειγμα:

List<String> ονόματα = Arrays.asList("Anna", "Bob", "Charlie", "David");

List<String> φιλτραρισμέναΟνόματα = ονόματα.stream()
    .filter(όνομα -> όνομα.startsWith("A"))  // διατηρεί ονόματα που ξεκινούν με 'A'
    .map(String::toUpperCase)                // μετατρέπει σε κεφαλαία
    .collect(Collectors.toList());

System.out.println(φιλτραρισμέναΟνόματα); // [ANNA]