[JAVA] Traitement intermédiaire de flux

Processus de génération de flux La partie qui donne différents traitements au Stream généré dans.

Ici, nous ne générons pas encore de liste ni ne la sortons sous forme de chaîne de caractères. Dans cet article, à titre d'exemple, laissez tous les processus de terminaison régénérer la liste.

map Il est utilisé lorsque vous souhaitez convertir un élément à l'aide d'une expression ou d'une fonction lambda.

//Style Lambda
List<Integer> actual = list.stream().map(s->s.length()).collect(Collectors.toList());

//Référence de la méthode
List<Integer> actual = list.stream().map(String::length).collect(Collectors.toList());

filter Utilisé lorsque vous souhaitez affiner les éléments de Stream par une expression conditionnelle

List<String> actual = list.stream().filter(s -> s.equals("b")).collect(Collectors.toList());

distinct Supprimer les éléments en double

List<String> list = Arrays.asList("a","a","b","b","c");

List<String> actual = list.stream().distinct().collect(Collectors.toList());

// a,d,c

peek Utilisé lorsque vous souhaitez effectuer un traitement qui n'affecte pas les éléments de Stream lui-même

List<String> actual = list.stream().peek(System.out::println).collect(Collectors.toList());

Sorted À utiliser lorsque vous souhaitez trier littéralement

//ordre croissant
List<String> actual = list.stream().sorted().collect(Collectors.toList());

//Ordre décroissant
List<String> actual =list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());

skip Il est utilisé lorsque vous souhaitez obtenir à partir du nième élément. Notez que les éléments précédents sont rejetés.

List<String> list = Arrays.asList("a","b","c","d","e");

list.stream().skip(2).peek(System.out::println).collect(Collectors.toList());

// c,d,e

limit Utilisé lorsque vous voulez obtenir n depuis le début

List<String> list = Arrays.asList("a","b","c","d","e");

list.stream().limit(3).peek(System.out::print).collect(Collectors.toList());

/// a,b,c

list.stream().skip(2).limit(2).peek(System.out::print).collect(Collectors.toList());

// c,d

Recommended Posts

Traitement intermédiaire de flux
[Java] Stream API - Traitement intermédiaire de flux
[Java] Traitement de flux
[Java] Stream API - Traitement de l'arrêt du flux
[Java] Opération intermédiaire de l'API Stream
Flux de traitement de base de Java Stream
Traitement des données à l'aide de l'API de flux de Java 8
Jeu d'Ogawa
Traitement en boucle
Processus de terminaison de flux
Memo Stream