Método Stream skip() en Java con ejemplos

Requisito previo: flujos en Java
El salto (N largo) es un método del objeto java.util.stream.Stream . Este método toma un largo (N) como argumento y devuelve un flujo después de eliminar los primeros N elementos. skip() puede ser bastante costoso en canalizaciones paralelas ordenadas, si el valor de N es grande, porque skip(N) está restringido a omitir los primeros N elementos en el orden de encuentro y no cualquier n elemento.
Nota: si una secuencia contiene menos de N elementos, se devuelve una secuencia vacía.

Sintaxis:

Stream<T> skip(long N)

Where N is the number of elements to be skipped
and this function returns new stream as output.

Excepción: si el valor de N es negativo, la función lanza IllegalArgumentException .

Ejemplo 1: Implementación de la función de salto.

// Java code for skip() function
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // Creating a list of integers
        List<Integer> list = new ArrayList<Integer>();
  
        // adding elements in the list
        list.add(-2);
        list.add(0);
        list.add(2);
        list.add(4);
        list.add(6);
        list.add(8);
        list.add(10);
        list.add(12);
        list.add(14);
        list.add(16);
  
        // setting the value of N as 4
        int limit = 4;
        int count = 0;
        Iterator<Integer> it = list.iterator();
  
        // Iterating through the list of integers
        while (it.hasNext()) {
            it.next();
            count++;
  
            // Check if first four i.e, (equal to N)
            // integers are iterated.
            if (count <= limit) {
  
                // If yes then remove first N elements.
                it.remove();
            }
        }
  
        System.out.print("New stream is : ");
  
        // Displaying new stream
        for (Integer number : list) {
            System.out.print(number + " ");
        }
    }
}

Producción :

New stream is : 6 8 10 12 14 16 

Solicitud :

// Java code for skip() function
import java.util.stream.Stream;
import java.util.ArrayList;
import java.util.List;
 class gfg{
       
     // Function to skip the elements of stream upto given range, i.e, 3
     public static Stream<String> skip_func(Stream<String> ss, int range){
         return ss.skip(range);
     }
       
     // Driver code
     public static void main(String[] args){
           
         // list to save stream of strings
         List<String> arr = new ArrayList<>();
           
         arr.add("geeks");
         arr.add("for");
         arr.add("geeks");
         arr.add("computer");
         arr.add("science");
          
         Stream<String> str = arr.stream();
           
         // calling function to skip the elements to range 3
         Stream<String> sk = skip_func(str,3);
         sk.forEach(System.out::println);
     }
 }

Producción :

computer
science

Diferencia entre limit() y skip() :

  1. El método limit() devuelve un flujo reducido de los primeros N elementos, pero el método skip() devuelve un flujo de elementos restantes después de omitir los primeros N elementos.
  2. limit() es una operación intermedia con estado de cortocircuito, es decir, cuando se procesa con una entrada infinita, puede producir un flujo finito como resultado sin procesar toda la entrada, pero skip() es una operación intermedia con estado, es decir, puede necesitar procesar toda la entrada antes de producir un resultado.

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *