Java Language Obtenir une tranche d'un flux


Exemple

Exemple: Obtenez un Stream de 30 éléments, contenant du 21ème au 50ème élément (inclus) d'une collection.

final long n = 20L; // the number of elements to skip
final long maxSize = 30L; // the number of elements the stream should be limited to
final Stream<T> slice = collection.stream().skip(n).limit(maxSize);

Remarques:

  • IllegalArgumentException est IllegalArgumentException si n est négatif ou maxSize négatif
  • skip(long) et limit(long) sont des opérations intermédiaires
  • si un flux contient moins de n éléments, alors skip(n) renvoie un flux vide
  • skip(long) et limit(long) sont des opérations peu coûteuses sur des pipelines de flux séquentiels, mais peuvent coûter très cher sur des pipelines parallèles ordonnés