在本文中,我们将带你了解阶段1语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节Stream流式思想概述_3_流式思想概述在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效
在本文中,我们将带你了解阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的Stream流式思想概述、阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_1_函数式接口的概念 & 函数式接口的定义、阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_3_性能浪费的日志案例、阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 2 节 Stream 流式思想概述_3_流式思想概述。
本文目录一览:- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述
- Stream流式思想概述
- 阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_1_函数式接口的概念 & 函数式接口的定义
- 阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_3_性能浪费的日志案例
- 阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 2 节 Stream 流式思想概述_3_流式思想概述
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述
Stream流式思想概述
Stream流式思想概述
package com.itheima.demo01.Stream;
import java.util.ArrayList;
import java.util.List;
/*
使用传统的方式,遍历集合,对集合中的数据进行过滤
*/
public class Demo01List {
public static void main(String[] args) {
//创建一个List集合,存储姓名
List<String> list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
//对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中
List<String> listA = new ArrayList<>();
for(String s : list){
if(s.startsWith("张")){
listA.add(s);
}
}
//对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中
List<String> listB = new ArrayList<>();
for (String s : listA) {
if(s.length()==3){
listB.add(s);
}
}
//遍历listB集合
for (String s : listB) {
System.out.println(s);
}
}
}
package com.itheima.demo01.Stream;
import java.util.ArrayList;
import java.util.List;
/*
使用Stream流的方式,遍历集合,对集合中的数据进行过滤
Stream流是JDK1.8之后出现的
关注的是做什么,而不是怎么做
*/
public class Demo02Stream {
public static void main(String[] args) {
//创建一个List集合,存储姓名
List<String> list = new ArrayList<>();
list.add("张无忌");
list.add("周芷若");
list.add("赵敏");
list.add("张强");
list.add("张三丰");
//对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中
//对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中
//遍历listB集合
list.stream()
.filter(name->name.startsWith("张"))
.filter(name->name.length()==3)
.forEach(name-> System.out.println(name));
}
}
阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_1_函数式接口的概念 & 函数式接口的定义
没有参数,没有返回值的抽象方法
一个接口中是可以有多个抽象方法的,如果在这里在定义一个 method2. 这样里面有两个抽象方法就不是函数式接口了。
确保接口中就一个抽象方法的方式
定义接口的实现类,重写里面的抽象方法
重写了以后,方法上加了注解叫做 @Override
复制上面的 method2 到下面改成叫做 method3 就报错了。错误提示。method3 不是一个可重写的方法。这就是注解的作用。
这个时候就 编译失败了,因为里面有两个抽象方法
只保留一个抽象方法,就不会报错了。
一个抽象方法都没有也会报错
阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_3_性能浪费的日志案例
Demo$1.class 是我们调用的时候创建的匿名内部类
lambda 的效率比匿名内部类要高
函数式编程
定义 showLog 的方法。日志级别等于 1 才输出 message 信息
传级别 2 没有任何输出
浪费
阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 2 节 Stream 流式思想概述_3_流式思想概述
今天关于阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述的讲解已经结束,谢谢您的阅读,如果想了解更多关于Stream流式思想概述、阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_1_函数式接口的概念 & 函数式接口的定义、阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_3_性能浪费的日志案例、阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 2 节 Stream 流式思想概述_3_流式思想概述的相关知识,请在本站搜索。
本文标签: