前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Stream流必会知识

Stream流必会知识

作者头像
CaesarChang张旭
发布2021-11-22 10:37:37
2330
发布2021-11-22 10:37:37
举报
文章被收录于专栏:悟道悟道

哪些可以作为Stream流使用?

1 继承Collection的List和Set List<String> str = new ArraryList<>(); Stream<String> stream = str.stream(); 2 数组借助Stream.of(xx) Integer[] arr = {1,2,3,4}; Stream<Integer> array = Stream.of(arr); 3 Map是不行的,可以用他的keySet() valueSet() Map<String,String> maps = new HashMap(); Stream<String> strMap = maps.keySet().stream(); Stream<String> strMap = maps.values().stream();

Stream的常用方法有(结合lambda表达式)

1 forEach 会将每一个流元素交给该函数进行处理。用于遍历元素 2 filter() 筛选符合条件的流数据,对数据进行过滤 3 map 需要将流中的元素映射到另一个流或者转换为另一个类型时用 List<User> list = map.entrySet().stream() .sorted(Comparator.comparing(e -> e.getKey())) .map(e -> new User(e.getKey(),e.getValue())) .collect(Collectors.toList()); List<Person> collect2 = people.stream() .sorted((Comparator.comparing(Person::getAge)).reversed()) .collect(Collectors.toList());//只根据年龄排序,降序 4 sorted(): 用于对流进行排序 List<Person> collect1 =people.stream() .sorted((Comparator.comparing(Person::getAge))) .collect(Collectors.toList());//只根据年龄排序,升序 5 count() 返回过滤后剩下的数目 6 collect() 收集为什么元素 .collect(Collectors.toList()); .collect(Collectors.joining()); 7 toArray 将流转换为一个数组 8 reduce 它提供一个起始值,然后依照运算规则,和Stream 的第一个、第二个、第 n 个元素组合 Integer sum = integers.reduce(0, (a, b) -> a+b); 9 min、max求最大值最小值 10 distinct 去重 distinct操作是对流中的元素进行去重 11 limit 获取流中前n个元素返回

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-11-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档