Maison  >  Article  >  Java  >  Comment utiliser les opérations de flux intermédiaires dans JShell en Java 9 ?

Comment utiliser les opérations de flux intermédiaires dans JShell en Java 9 ?

WBOY
WBOYavant
2023-08-19 08:18:09826parcourir

如何在Java 9的JShell中使用中间流操作?

JShell est un outil introduit dans Java 9, qui accepte des instructions simples en entrée, telles que des expressions, des variables, des méthodes, des classes, etc., et produit des résultats instantanés.

Un Stream est une séquence de valeurs. Une Opération de Flux Intermédiaire est une opération qui opère sur un flux. Par exemple, il peut être appliqué à une expression lambda et produire un autre flux comme résultat.

Voici les opérations de flux intermédiaire les plus couramment utilisées :

  • 1) sorted() : Cette méthode conserve ainsi les éléments du flux consommé, mais les trie également dans leur ordre de tri naturel.
  • 2) distinct() : Cette méthode renvoie un flux qui conserve uniquement les éléments uniques dans le flux d'entrée et peut maintenir l'ordre relatif des éléments retenus.
  • 3) filter() : Cette méthode peut filtrer les éléments du flux en fonction d'une certaine logique.
  • 4) map() : Cette méthode applique une expression lambda pour calculer le nouveau résultat des éléments du flux d'entrée. Il renvoie ensuite ces résultats sous forme de sortie dans un flux.

Dans l'extrait de code ci-dessous, nous pouvons implémenter différentes opérations de flux intermédiaires dans l'outil JShell.

extrait de code

<strong>jshell> List<Integer> numbers = List.of(3, 10, 23, 200, 77, 9, 32);
numbers ==> [3, 10, 23, 200, 77, 9, 32]

jshell> numbers.stream().sorted().forEach(elem -> System.out.println(elem));
3
9
10
23
32
77
200
</strong>
<strong>jshell> List<Integer> numbers = List.of(3, 5, 54, 280, 5, 9, 40);
numbers ==> [3, 5, 54, 280, 5, 9, 40]

jshell> numbers.stream().distinct().forEach(elem -> System.out.println(elem));
3
5
54
280
9
40

</strong><strong>jshell> numbers.stream().distinct().sorted().forEach(elem -> System.out.println(elem));
3
5
9
40
54
280
</strong>
<strong>jshell> numbers.stream().distinct().map(num -> num * num).forEach(elem -> System.out.println(elem));
9
25
2916
78400
81
1600</strong>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer