Stream流必会知识
哪些可以作为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个元素返回
相关文章
- 谈谈小数的表示方法之定点数
- Redis 的 8 大数据类型,写得非常好!
- PHP实现最简单的聊天室应用
- 25年前,开发者如何将游戏塞进内存?
- 数据科学中的“数据智慧”
- 大数据,勾绘智慧城市新蓝图
- 吴甘沙:大数据的六大人工智能变现方式
- 这些大酒店用大数据和分析技术对我们做了什么?
- 车品觉:对于大数据未来趋势的判断
- 我们原来生活在“数字阴影”和“平行宇宙”中
- 2016年大数据在金融领域的10大趋势
- 3个可视化案例:不只酷炫,洞察最重要
- 澳大利亚疯狂计划:把现实世界数字化
- 如何解决实施大数据的常见障碍
- [案例]信息巨头Carfax如何打造数据产品
- 大数据下客户金融产品购买概率预测
- 有了800件T恤测量数据,能选出最合身的尺寸吗?
- 大数据分析的光荣与陷阱——从谷歌流感趋势谈起
- 阿里副总裁车品觉:无数据不成活
- IBM提出五大能力驱动认知商业变革