شرح الدوال map وfilter وsorted وcollect وforEach وreduce لمعالجة تدفق البيانات Java 54- Stream API

في هذا الفيديو من جافا JAVA, سنتحدث عن كيفية عرض البيانات عبر اجراء تغييرات على محتواها , وايضا عن كيفية عرض البيانات عبر تحقق ال predicate, وايضا عن كيفية تقليص مجموعة من البيانات الى واحدة, اي سنشرح الدوال map وfilter وsorted وcollect وforEach وreduce. Stream API


package package3;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Apple{

  /*
   * opérations intermédiaires :
   *   <R> Stream<R> map(Function<? super T, ? extends R> mapper)
   *   Stream<T> filter(Predicate<? super T> predicate)
   *   void forEach(Consumer<? super T> action)
   *   Stream<T> sorted()
   * Les opérations terminales :
   *   <R, A> R collect(Collector<? super T, A, R> collector)
   *   int reduce(int identity, IntBinaryOperator op)
   */
  
    public static void main(String... args){
      List<Integer> list= Arrays.asList(1,3,2,5,4);
      int[] num={1,2,3,4,5};
      System.out.println(" map : ");
      Arrays.stream(num).map(x->x+2).forEach(System.out::println);
      System.out.println(" filter : ");
      list.stream().filter(x-> x%2 == 0).forEach(System.out::println);
      System.out.println(" sorted : ");
      list.stream().sorted().forEach(System.out::println);
      List<Integer> pair= list.stream().filter(x-> x%2 == 0)
                                       .collect(Collectors.toList());
      System.out.println(" pair : "+pair);
      int fact = Arrays.stream(num).reduce(1, (x,y)->x*y);
      System.out.println(" fact : "+fact);

    }

}
---------------------------
affiche : 
          map :
         3
         4
         5
         6
         7
          filter :
         2
         4
          sorted :
         1
         2
         3
         4
         5
          pair : [2, 4]
          fact : 120