Java Language Ottieni una fetta di un flusso


Esempio

Esempio: ottieni un Stream di 30 elementi, contenente elementi dal 21 ° al 50 ° (inclusi) di una raccolta.

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);

Gli appunti:

  • IllegalArgumentException viene generato se n è negativo o maxSize è negativo
  • sia skip(long) che limit(long) sono operazioni intermedie
  • se un flusso contiene meno di n elementi, skip(n) restituisce un flusso vuoto
  • sia skip(long) che limit(long) sono operazioni a basso costo su pipeline sequenziali, ma possono essere piuttosto costose su condotte parallele ordinate