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<Integer> list=new ArrayList<>();
for (int i=99;i<10000;i++){
list.add(i);
}
System.out.println(list);
JavaRDD<Integer> javaRDD=sc.parallelize(list);
System.out.println(javaRDD);

JavaRDD<Integer> 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);
}

}