当前位置:   article > 正文

4.9总结(Stream流,方法引用概述 || 乘法逆元,组合数)

4.9总结(Stream流,方法引用概述 || 乘法逆元,组合数)

Stream流

        基本概念:以更简便的方式操作集合数据的形式;

        Steam流的操作步骤:

        获取Stream流 

        中间方法:去重,跳过,获取, 过滤, 合并流,转换类型;

        终结方法:遍历,统计,收集(进数组 / 进集合);

        小练习

  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Map;
  4. import java.util.function.Function;
  5. import java.util.stream.Collectors;
  6. //将集合中的元素提取并转换
  7. public class Streamdemo02 {
  8. public static void main(String[] args) {
  9. ArrayList<String> list1 = new ArrayList<>();
  10. list1.add("zhangsan,23");
  11. list1.add("lisi,24");
  12. list1.add("wangwu,25");
  13. // list1.stream()
  14. // .filter(s -> Integer.parseInt(s.split(",")[1]) >= 24)
  15. // .collect(Collectors.toMap(new Function<String, String>() {
  16. // @Override
  17. // public String apply(String s) {
  18. // return s.split(",")[0];
  19. // }
  20. // }, new Function<String, Integer>() {
  21. // @Override
  22. // public Integer apply(String s) {
  23. // return Integer.parseInt(s.split(",")[1]);
  24. // }
  25. // }));
  26. Map<String, Integer> map = list1.stream().
  27. filter(s -> Integer.parseInt(s.split(",")[1]) >= 24)
  28. .collect(Collectors.toMap(
  29. s -> s.split(",")[0],
  30. s -> Integer.parseInt(s.split(",")[1])));
  31. System.out.println(map);
  32. }
  33. }
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;
  4. import java.util.function.Predicate;
  5. import java.util.stream.Collectors;
  6. import java.util.stream.Stream;
  7. //去除奇数保留偶数
  8. public class Streamdemo01 {
  9. public static void main(String[] args) {
  10. ArrayList<Integer> list1 = new ArrayList<Integer>();
  11. // for(int i = 1; i <= 10; i++) list1.add(i);
  12. Collections.addAll(list1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
  13. // Stream<Integer> stream1 = list1.stream();
  14. // stream1.filter(new Predicate<Integer>() {
  15. // @Override
  16. // public boolean test(Integer integer) {
  17. // return integer % 2 == 1;
  18. // }
  19. // }).forEach(integer -> System.out.println(integer));
  20. List<Integer> newList = list1.stream()
  21. .filter(n -> n % 2 == 0)
  22. .collect(Collectors.toList());
  23. System.out.println(newList);
  24. }
  25. }

 方法引用概述

       1. 基本概念:将已经存在的方法引用,作为函数式接口中抽象方法的方法体;

        2.特点: “ ::” 符号,方法引用符;

        3.注意事项

  • 需要有函数式接口
  • 被引用方法的参数和返回值应和抽象方法保持一致;
  • 被引用方法应满足使用需求;

        4.分类


算法部分:乘法逆元,组合数icon-default.png?t=N7T8http://t.csdnimg.cn/ii0mi 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/443065
推荐阅读
  

闽ICP备14008679号