Stream

1.简介

集合更多的是数据结构的封装,主要用来存储数据,如果需要对数据进行多次加工(比如:筛选,排序),可以使用StreamAPI。

2创建

1)通过Collection接口

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class StreamExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "orange");
        
        // 通过 stream() 方法创建流
        Stream<String> stream = list.stream();
        
        // 使用流操作(例如打印元素)
        stream.forEach(System.out::println);
    }
}
 

2)使用Arrays.stream(T[]array)

import java.util.Arrays;
import java.util.stream.Stream;

String[] array = {"apple", "banana", "orange"};
Stream<String> stream = Arrays.stream(array);
stream.forEach(System.out::println);
 

3)静态方法创建流

import java.util.stream.Stream;

// 创建包含多个元素的流
Stream<String> stringStream = Stream.of("A", "B", "C");

// 创建包含单个元素的流
Stream<Integer> singleElementStream = Stream.of(1);
 

3分类

1)中间操作:每次操作返回一个新的流,可以有多个

2)终端操作:每个流只能进行一次终端操作,结束后,无法使用,会产生一个新的值或集合

4特性

1)不存储数据

2)不会改变数据源

3)具有延迟执行特性

5与集合的差别

1)集合中的元素是已经计算好的;流是在用户需要的时候才会计算

2)集合:外部迭代;流:内部迭代

6Optional

常用方法

1)empty():创建一个空的Optional

2)of(T t):

Optional<String> optional = Optional.ofNullable("Hello");
if (optional.isPresent()) {
    System.out.println(optional.get());
}
3)Optional<String> optional = Optional.of("World");
String value = optional.get();

4)Optional<String> optional = Optional.empty();
String value = optional.orElse("Default");

5)Optional<String> optional = Optional.of("Hello");
optional.ifPresent(val -> System.out.println(val));

6)Optional<String> optional = Optional.empty();
String value = optional.orElseThrow(() -> new IllegalArgumentException("Value not present"));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值