Java8 Lambda 函数式编程

Java8实现

 

    //仿照例子,利用java8实现以下功能:
        // ü 数组data保存了99 到9999之间的整数
        // ü 利用lambda和stream相关API
        // ,实现以下功能:
        // • 按行打印其中的奇数
        // • 求出所有元素的和

 

package org.training.examples;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by hadoopuser on 9/4/19.
 */
public class hcytest {

    //仿照例子,利用java8实现以下功能:
        // ü 数组data保存了99 到9999之间的整数
        // ü 利用lambda和stream相关API
        // ,实现以下功能:
        // • 按行打印其中的奇数
        // • 求出所有元素的和
    public static void main(String[] args) throws Exception {
        String masterUrl = "local[1]";

        SparkConf conf = new SparkConf().setMaster(masterUrl).setAppName("hcytest");
        JavaSparkContext sc = new JavaSparkContext(conf);

        List list=new ArrayList<>();
        for (int i=99;i<10000;i++){
            list.add(i);
        }
        System.out.println(list);
        JavaRDD javaRDD=sc.parallelize(list);
        System.out.println(javaRDD);

        JavaRDD newRDD=javaRDD.filter(x -> x%2==0);
        System.out.println(newRDD);
        //1.按行打印其中的奇数
        newRDD.foreach( x ->
                System.out.println(x)
        );
        //2. 求出所有元素的和
        Double sum=newRDD.mapToDouble(x->x).sum();
        System.out.println(sum);
    }

}

 

你可能感兴趣的:(Java)