GVKun编程网logo

阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述

35

在本文中,我们将带你了解阶段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_流式思想概述

阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述



分享图片



分享图片



分享图片




分享图片


分享图片



分享图片


分享图片


分享图片



分享图片

 

Stream流式思想概述

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_函数式接口的概念 & 函数式接口的定义

阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_1_函数式接口的概念 & 函数式接口的定义








没有参数,没有返回值的抽象方法

一个接口中是可以有多个抽象方法的,如果在这里在定义一个 method2. 这样里面有两个抽象方法就不是函数式接口了。

确保接口中就一个抽象方法的方式



定义接口的实现类,重写里面的抽象方法

重写了以后,方法上加了注解叫做 @Override



复制上面的 method2 到下面改成叫做 method3 就报错了。错误提示。method3 不是一个可重写的方法。这就是注解的作用。


这个时候就 编译失败了,因为里面有两个抽象方法

只保留一个抽象方法,就不会报错了。


一个抽象方法都没有也会报错

 

阶段 1 语言基础 + 高级_1-3-Java 语言高级_08-JDK8 新特性_第 1 节 常用函数接口_3_性能浪费的日志案例

阶段 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_流式思想概述




















 

今天关于阶段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_流式思想概述的相关知识,请在本站搜索。

本文标签: