JAVA8之lambda表达式
来源:互联网 发布:怎么运行mysql 编辑:程序博客网 时间:2024/05/21 06:52
一:导入依赖包,配置环境
在project下的build.gradle中
classpath 'me.tatarka:gradle-retrolambda:3.2.5'
在module下的build.gradle的android{ }中
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
在module下的build.gradle的defaultConfig{ }中
jackOptions { enabled true }
二.进行代码编写
在activity_main中布局
我写了四个例子,所以用了4个button按钮
MainActivity.java中
public class MainActivity extends AppCompatActivity { private Button button,button2,button3,button4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); button2 = (Button) findViewById(R.id.button2); button3 = (Button) findViewById(R.id.button3); button4 = (Button) findViewById(R.id.button4); /*平方数 * 这段代码生成一个整数 list 的平方数 {1, 4, 9, 16} * */ button.setOnClickListener(new View.OnClickListener() { @RequiresApi(api = Build.VERSION_CODES.N) @Override public void onClick(View view) { List<Integer> nums = Arrays.asList(1, 2, 3, 4); List<Integer> squareNums = nums.stream() .map(n -> n * n) .collect(Collectors.toList()); squareNums.forEach(p -> System.out.println(p)); } }); /*计算集合元素的最大值、最小值、总和以及平均值*/ button2.setOnClickListener(new View.OnClickListener() { @RequiresApi(api = Build.VERSION_CODES.N) @Override public void onClick(View view) { //获取数字的个数、最小值、最大值、总和以及平均值 List<Integer> primes = Arrays.asList(2, 3, 5, 7, 11, 13, 17, 19, 23, 29); IntSummaryStatistics stats = primes.stream().mapToInt((x) -> x).summaryStatistics(); System.out.println("Highest: " + stats.getMax()); System.out.println("Lowest: " + stats.getMin()); System.out.println("Sum: " + stats.getSum()); System.out.println("Average of all prime numbers: " + stats.getAverage()); primes.forEach(p -> System.out.println(p)); } }); /*转换大小写*/ button3.setOnClickListener(new View.OnClickListener() { @RequiresApi(api = Build.VERSION_CODES.N) @Override public void onClick(View view) { List<String> wordList = Arrays.asList("w","h","l"); List<String> output = wordList.stream() .map(String::toUpperCase) .collect(Collectors.toList()); output.forEach(p -> System.out.println(p)); } }); /*筛选偶数*/ button4.setOnClickListener(new View.OnClickListener() { @RequiresApi(api = Build.VERSION_CODES.N) @Override public void onClick(View view) { Integer[] sixNums = {1, 2, 3, 4, 5, 6,7,8,9,10}; Integer[] evens = Stream.of(sixNums) .filter(n -> n%2 == 0) .toArray(Integer[]::new); Stream<Integer> stream = Arrays.stream(evens); stream.forEach(p -> System.out.println(p)); } }); }}
阅读全文
0 0
- JAVA8之lambda表达式
- Java8之Lambda表达式
- Java8之lambda表达式
- java8之lambda表达式
- java8之lambda表达式
- java8之Lambda表达式
- java8之lambda表达式
- JAVA8之lambda表达式
- Java8之lambda表达式
- Java8之Lambda表达式
- Java8特性之Lambda表达式
- java8之lambda表达式语法
- Java8之lambda表达式详解
- JAVA8学习之Lambda表达式
- java8之Lambda表达式 1:简介
- java8之Lambda表达式 3:数据流
- Java8 之 lambda表达式 与 Stream
- java8之Lambda表达式 1:简介
- Python中斐波那契数列的四种写法
- javascript中call、apply、bind方法的区别
- Linux安装JDK&Mysql&tomcat
- Socket 网络编程实践经验
- node复制文件
- JAVA8之lambda表达式
- android常用数据结构
- POJ-1236Network of Schools
- mvc之jdbc的应用
- C++智能指针(一)
- Ubuntu中安装pygame
- Jmeter课堂笔记之控制器及函数的使用
- ajax在JavaScript的使用:异步传输,局部刷新
- C++分析——文件操作