JAVA基础--Stream流

一、Stream流作用

对集合或者数组进行操作,当想使用一个流的时候,基本包含三个步骤:获得一个数据源 --> 数据转换 -->执行操作,获取想要的结果。

二、Stream流方法

stream方法被分为两种:
延迟方法:返回值为stream,可以继续使用其他方法
终结方法:返回值不为stream类型的方法,使用后会关闭流

一、获取流
一、根据集合获取流

Collection.stream();

    Map<String,Integer> map = Map.of("丁真",1,"王源",2);
    Stream<String> streamkeys = map.keySet().stream();
    Stream<Integer> streamvalues = map.values().stream();
    Stream<Map.Entry<String,Integer>> streamentries = map.entrySet().stream();
二、根据数组获得流

Arrays.stream(array[]);
Stream.of(array[]);

    String [] strings = {"华为","苹果","联想"};
    Stream<String> stream1 = Arrays.stream(strings);
    Stream<Integer> stream2 = Stream.of(strings);
二、forEach

forEach方法为终结方法,遍历集合,同时使用consumer消费对象,用完后会关闭流。
void forEach(Consumer<? super T> action);

    List<String> list = List.of("迪丽热巴","古力娜扎","王源","丁真");
    Stream<String> stream = list.stream();
    stream.forEach((t) -> {
        System.out.println(t);
    });

在这里插入图片描述

三、filter

filter为延迟方法,用来筛选满足条件的元素
Stream filter(Predicate<? super T> predicate);

List<String> list = List.of("迪丽热巴","古力娜扎","保守派王源","维新派丁真");
    Stream<String> stream = list.stream();
    stream.filter(t ->  t.length() == 5).forEach(System.out::println);

在这里插入图片描述

四、map

map为延迟方法,用来做数据类型转换
Stream map(Function)

List<String> list = List.of("迪丽热巴","古力娜扎","王源","丁真");
Stream<Person> stream = list.stream().map(t ->  new Person(t,20));
stream.forEach(System.out::println);

在这里插入图片描述

五、limit

limit为延迟方法,用来取得前几个流元素
Stream limit(long n)

List<String> list = List.of("迪丽热巴","古力娜扎","王源","丁真");
Stream<String> stream = list.stream();
stream.limit(3).forEach(System.out::println);

在这里插入图片描述

六、skip

skip为延迟方法,用来跳过几个元素
Stream skip(long n)

List<String> list = List.of("迪丽热巴","古力娜扎","王源","丁真");
Stream<String> stream = list.stream();
stream.skip(2).forEach(System.out::println);

在这里插入图片描述

七、count

count为终结方法,用来返回流中的元素数量
long count()

    List<String> list = List.of("迪丽热巴","古力娜扎","王源","丁真");
    Stream<String> stream = list.stream();
    System.out.println("流中元素数量为:" + stream.count());

在这里插入图片描述

八、concat

concat为延迟方法,用来合并两个流
static Stream concat(streamA,streamB)

Stream<String> streamAll = Stream.concat(stream1,stream2);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值