Avatar ·

Quels sont les équivalents de Java 8 Stream.collect dans la bibliothèque standard de Kotlin ?

Bonjour ! Je passe de Java à Kotlin et j'étudie activement la bibliothèque standard. En Java, j'utilisais souvent le Stream API, en particulier la méthode collect avec différents collecteurs : Collectors.toList(), Collectors.groupingBy(), Collectors.joining(), etc.

Par exemple, en Java, je pouvais écrire :

List<String> names = people.stream()
    .filter(p -> p.getAge() > 18)
    .map(Person::getName)
    .collect(Collectors.toList());

Ou regrouper les personnes par âge :

Map<Integer, List<Person>> byAge = people.stream()
    .collect(Collectors.groupingBy(Person::getAge));

En Kotlin, je vois qu'il existe des fonctions .filter, .map, mais je ne trouve pas d'équivalent direct à .collect(Collectors.toList()). J'ai essayé d'écrire .toList(), mais je ne suis pas sûr que ce soit correct et efficace.

Pouvez-vous m'indiquer quelles fonctions dans la bibliothèque standard