Requisito previo: flujos en Java8
El límite (N largo) es un método del objeto java.util.stream.Stream . Este método toma uno (N largo) como argumento y devuelve un flujo de tamaño no mayor que N. limit() puede ser bastante costoso en canalizaciones paralelas ordenadas, si el valor de N es grande, porque limit(N) está restringido a devolver los primeros N elementos en el orden de encuentro y no cualquier n elementos.
Sintaxis:
Stream<T> limit(long N) Where N is the number of elements the stream should be limited to and this function returns new stream as output.
Excepción: si el valor de N es negativo, la función lanza IllegalArgumentException .
A continuación se muestran algunos ejemplos para comprender mejor la implementación de la función.
Ejemplo 1 :
// Java code to show implementation // of limit() 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 all the remaining integers. it.remove(); } } System.out.print("New stream of length N" + " after truncation is : "); // Displaying new stream of length // N after truncation for (Integer number : list) { System.out.print(number + " "); } } }
Producción :
New stream of length N after truncation is : -2 0 2 4
Solicitud :
// Java code to show the use of limit() function import java.util.stream.Stream; import java.util.ArrayList; import java.util.List; class gfg{ // Function to limit the stream upto given range, i.e, 3 public static Stream<String> limiting_func(Stream<String> ss, int range){ return ss.limit(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 limit the stream to range 3 Stream<String> lm = limiting_func(str,3); lm.forEach(System.out::println); } }
Producción :
geeks for geeks
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