Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Java 9 - Mejoras en la API de transmisión

Los flujos se introdujeron en Java para ayudar a los desarrolladores a realizar operaciones agregadas a partir de una secuencia de objetos. Con Java 9, se agregan algunos métodos más para mejorar las transmisiones.

takeWhile(interfaz de predicado)

Sintaxis

default Stream<T> takeWhile(Predicate<? super T> predicate)

El método takeWhile toma todos los valores hasta que el predicado devuelve falso. Devuelve, en caso de secuencia ordenada, una secuencia que consta del prefijo más largo de elementos tomados de esta secuencia que coinciden con el predicado dado.

Ejemplo

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      Stream.of("a","b","c","","e","f").takeWhile(s->!s.isEmpty())
         .forEach(System.out::print);		 
   } 
}

Salida

El método takeWhile toma todos los valores a, b y c, luego, una vez que la cadena está vacía, deja de ejecutarse.

abc

dropWhile(interfaz de predicado)

Sintaxis

default Stream<T> dropWhile(Predicate<? super T> predicate)

El método dropWhile desecha todos los valores al principio hasta que el predicado devuelve verdadero. Devuelve, en caso de secuencia ordenada, una secuencia que consta de los elementos restantes de esta secuencia después de eliminar el prefijo más largo de los elementos que coinciden con el predicado dado.

Ejemplo

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      Stream.of("a","b","c","","e","f").dropWhile(s-> !s.isEmpty())
         .forEach(System.out::print);
      
      System.out.println();
      Stream.of("a","b","c","","e","","f").dropWhile(s-> !s.isEmpty())
         .forEach(System.out::print);
   } 
}

Salida

dropWhile elimina los valores a, b y c, luego, una vez que la cadena está vacía, toma todos los valores.

ef
ef

iterar

Sintaxis

static <T> Stream<T> iterate(T seed, Predicate<? super T> hasNext, UnaryOperator<T> next)

El método de iteración ahora tiene el predicado hasNext como parámetro que detiene el bucle una vez que el predicado hasNext devuelve falso.

Ejemplo

import java.util.stream.IntStream;

public class Tester {
   public static void main(String[] args) {
      IntStream.iterate(3, x -> x < 10, x -> x+ 3).forEach(System.out::println);
   } 
}

Salida

3
6
9

deAnulable

Sintaxis

static <T> Stream<T> ofNullable(T t)

Se introduce el método ofNullable para evitar NullPointerExceptions y para evitar comprobaciones nulas de secuencias. Este método devuelve un Stream secuencial que contiene un solo elemento, si no es nulo; de lo contrario, devuelve un Stream vacío.

Ejemplo

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      long count = Stream.ofNullable(100).count();
      System.out.println(count);
  
      count = Stream.ofNullable(null).count();
      System.out.println(count);
   } 
}

Salida

1
0

Java

  1. Operadores Java
  2. Comentarios Java
  3. Java para cada bucle
  4. Cadenas Java
  5. Interfaz Java
  6. Clase anónima de Java
  7. Prueba de Java con recursos
  8. Anotaciones Java
  9. Aserciones de Java
  10. Java 9 - Descripción general
  11. Java 9 - Mejoras en la API de procesos