JAVA高级篇--Stream流

本文介绍了Java8中的Stream API,重点讲述了为什么要使用Stream流,其工作原理,以及如何获取和操作Stream流对象。Stream提供了高效且简洁的集合处理方式,避免了传统循环操作的繁琐。文章还提及了新增的日期时间类LocalDate、LocalTime、LocalDateTime等,以及它们在处理日期时间操作上的改进。
摘要由CSDN通过智能技术生成

1.方法应用

对象方法引用: 类名::实例方法. (参数1,参数2)->参数1.实例方法(参数2)

package com.lpt.demo01;

import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Supplier;

public class Test01 {
    public static void main(String[] args) {
//        Function<String,Integer> function=(str)->{
//            return str.length();
//        };
//        Function<String,Integer> function=String::length;
//        Integer l = function.apply("hello");
//        System.out.println(l);

//        BiFunction<String,String,Boolean> booleanBiFunction=(t,u)->{
//            return t.equals(u);
//        };
//        Boolean apply = booleanBiFunction.apply("hello", "world");
//        System.out.println(apply);

//        Supplier<String> supplier=()->{
//            return new String("hello");
//        };
        //Function<String,People> function=(n)->new People(n);
        Function<String,People> function=People::new;
        People people = function.apply("hello");
        System.out.println(people);
    }

}
class People{
    private String name;

    public People() {
    }

    public People(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "People{" +
                "name='" + name + '\'' +
                '}';
    }
}

2.Stream流

Java8的两个重大改变,一个是Lambda表达式,另一个就是本节要讲的Stream API表达式。==Stream 是Java8中处理集合的关键抽象概念==,它可以对集合进行非常复杂的查找、过滤、筛选等操作.

2.1 为什么使用Stream流

当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、获取外,最典型的就是集合遍历。我们来体验 集合操作数据的弊端,需求如下:

一个ArrayList集合中存储有以下数据:
需求:1.拿到所有姓张的 2.拿到名字长度为3个字的 3.打印这些数据

代码如下:

public class My {
    public static void main(String[] args) {
// 一个ArrayList集合中存储有以下数据:张无忌,周芷若,赵敏,张强,张三丰
// 需求:1.拿到所有姓张的 2.拿到名字长度为3个字的 3.打印这些数据
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list, "张无忌", "周芷若", "赵敏", "张强", "张三丰");
// 1.拿到所有姓张的
        ArrayList<String> zhangList &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值