Java中常用的对Stream流进行的中间操作

常用的对Stream流进行的中间操作

1.遍历逐一处理(forEach)

public class JavaStreamTest01 {
    public static void main(String[] args) {
//        逐一遍历处理(forEach)
        String[] arr=new String[]{"苹果","香蕉","草莓"};
        Stream<String> stream=Stream.of(arr);
        stream.forEach(s-> System.out.println(s));

    }
}

结果:

 2.过滤处理(filter)

public class JavaStreamTest02 {
    public static void main(String[] args) {
//        过滤处理(filter)
        String[] arr=new String[]{"苹果","香蕉","草莓"};
        Stream<String> stream=Stream.of(arr);
        Stream<String> stream2=stream.filter(s -> s.startsWith("草"));
        stream2.forEach(s -> System.out.println(s));
    }
}

 结果: 

3.映射(map)

public class JavaStreamTest03 {
    public static void main(String[] args) {
//        映射(map)
        String[] arr=new String[]{"11","22","33"};
        Stream<String> stream= Stream.of(arr);
        Stream<Integer> stream2=stream.map(s -> Integer.parseInt(s));
        stream2.forEach(s-> System.out.println(s));
    }
}

结果:

4.统计流中元素的个数(count)

public class JavaStreamTest04 {
    public static void main(String[] args) {
//        统计流中元素的个数(count)
        String[] arr=new String[]{"11","22","33"};
        Stream<String> stream=Stream.of(arr);
        long count=stream.count();
        System.out.println("stream中的元素个数为:"+count);
    }
}

结果:

5. 截取特定元素的前几个元素(limit)

public class JavaStreamTest05 {
    public static void main(String[] args) {
//        截取特定元素的前几个元素(limit)
        String[] arr=new String[]{"11","22","33"};
        Stream<String> stream=Stream.of(arr);
        Stream<String> stream2=stream.limit(2);
        stream2.forEach(s-> System.out.println(s));
    }
}

结果:

6.跳过前几个,获取后面的流(skip)

public class JavaStreamTest06 {
    public static void main(String[] args) {
//        跳过前几个,获取后面的流(skip)
        String[] arr=new String[]{"11","22","33"};
        Stream<String> stream=Stream.of(arr);
        Stream<String> stream2=stream.skip(2);
        stream2.forEach(s -> System.out.println(s));
    }
}

结果: 

7.组合流(concat),当有两个流,并希望它们能组合的时候可以使用

public class JavaStreamTest07 {
    public static void main(String[] args) {
//      组合流(concat),当有两个流,并希望它们能组合的时候可以使用
        String[] arr1=new String[]{"11","22","33"};
        String[] arr2=new String[]{"苹果","香蕉","草莓"};
        Stream<String> stream1=Stream.of(arr1);
        Stream<String> stream2=Stream.of(arr2);
        Stream<String> stream=Stream.concat(stream1,stream2);
        stream.forEach(s -> System.out.println(s));
    }
}

结果:

8.排序(sort)

public class JavaStreamTest08 {
    public static void main(String[] args) {
//        排序(sort)
        String[] arr=new String[]{"11","33","44","22"};
        Stream<String> stream=Stream.of(arr);
        stream.sorted().forEach(s -> System.out.println(s));
    }
}

结果 :

9. 去重(distinct)

public class JavaStreamTest09 {
    public static void main(String[] args) {
//        去重(distinct)
        List<Integer> list=new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(2);
        list.add(5);
        list.add(1);
        Stream<Integer> stream=list.stream();
        stream.distinct().forEach(s-> System.out.println(s));
    }
}

结果:

 这篇到这里也就结束,其实对流的操作还有很多,我只是将常见的流的操作写入这篇文章中,接下来一篇我将为大家讲Java中常用的对Stream流的终结操作,下期再见了!!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
JavaStream常用方法包括获取Stream中间方法和终结方法。 获取Stream的方法有两种:集合获取Stream和数组获取Stream。集合获取Stream可以使用集合类的stream()方法,例如Map的keySet()方法可以获取键,values()方法可以获取值,entrySet()方法可以获取键值对。数组获取Stream可以使用Arrays类的stream()方法,将数组转换为Stream中间方法是对Stream进行操作的方法,一次操作完毕之后,还可以继续进行其他操作常用中间方法包括filter()、map()、flatMap()、distinct()、sorted()、limit()和skip()等。filter()方法用于过滤元素,map()方法用于对元素进行映射,flatMap()方法用于扁平化处理,distinct()方法用于去重,sorted()方法用于排序,limit()方法用于限制元素数量,skip()方法用于跳过元素。 终结方法是Stream的最后一个操作,一个Stream只能有一个终结方法。常用的终结方法包括forEach()、collect()、count()、min()、max()、reduce()和toArray()等。forEach()方法用于遍历元素,collect()方法用于将元素收集到集合,count()方法用于统计元素数量,min()方法用于获取最小值,max()方法用于获取最大值,reduce()方法用于对元素进行归约操作,toArray()方法用于将元素转换为数组。 综合应用Stream常用方法可以实现对数据的筛选、转换、排序、统计等操作,提高代码的简洁性和可读性。 #### 引用[.reference_title] - *1* *2* *3* [Java 基础进阶篇(十二):Stream 常用方法总结](https://blog.csdn.net/weixin_43819566/article/details/130537949)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Luck&Strive

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值